배경 : 개발에 핫 배포를 사용하지 않는 경우 Java 코드를 수정할 때마다 서비스를 다시 시작하므로 시간이 낭비되고 개발 효율성에 영향을줍니다. 핫 배포 개발을 요약하려면 아래 기사를 작성하십시오.
주제 입력 === 핫 배포 개발 단계 열기 :
1. Maven 의존성 소개
<!-- 热部署模块 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
</dependency>
2. 컴파일 도구에서 자동 컴파일 기능이 켜져 있는지, IDEA가 기본적으로 켜져 있지 않은지 확인하고 설정을 열고 컴파일러를 찾아 자동 컴파일을 확인합니다.
3. application.properties/yml에서 템플릿 엔진 캐싱을 비활성화합니다.
#禁用模版引擎缓存
spring.thymeleaf.cache=false
4. 위의 두 단계를 구성한 후에도 Maven이 대상의 해당 디렉토리에 프로젝트를 컴파일하지 않았기 때문에 프로젝트를 자동으로 배포하거나 자동으로 컴파일 할 수 없습니다. 마지막 작업
ctrl + shift + alt + / 열기, 레지스트리 입력,이 옵션 확인
5. 효율성을 높이기 위해 지정된 디렉터리를 핫 배포하려면
#添加那个目录的文件需要restart
spring.devtools.restart.additional-paths=src/main/java
#排除那个目录的文件不需要restart
spring.devtools.restart.exclude=static/**,public/**
또한 참고 :
기본적으로 / META-INF / maven, / META-INF / resources, / resources, / static, / templates, / public의 파일 수정은 응용 프로그램을 다시 시작하지 않지만 다시로드합니다 (devtools 포함 LiveReload 서버, 리소스 변경시 브라우저 새로 고침)