>  기사  >  Java  >  Spring Boot가 핫 배포를 구현하는 방법

Spring Boot가 핫 배포를 구현하는 방법

angryTom
angryTom원래의
2020-02-14 14:31:405755검색

Spring Boot가 핫 배포를 구현하는 방법

Spring Boot에서 핫 배포를 구현하는 방법

코드의 핫 배포를 구현하는 것은 매우 간단합니다. Spring Boot에서는 코드 수정과 같은 작업이 자동으로 배포되고 프로젝트가 다시 핫 스타트될 수 있습니다.

1. 견적 devtools 종속성

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

이렇게 하면 Java 클래스가 수정되면 핫 업데이트됩니다.

2. 사용자 정의 구성 핫 배포

다음 구성은 사용자 정의 구성 핫 배포를 위한 것이며 설정할 필요가 없습니다.

# 热部署开关,false即不启用热部署
spring.devtools.restart.enabled: true
# 指定热部署的目录
#spring.devtools.restart.additional-paths: src/main/java
# 指定目录不更新
spring.devtools.restart.exclude: test/**

3. Intellij Idea 수정

아이디어라면 다음 두 곳을 변경해야 합니다.

# 🎜🎜#1, 자동 컴파일 또는 수동 재컴파일을 확인하세요

파일 > 컴파일러-자동으로 프로젝트 빌드


2. 🎜🎜 #ctrl + Shift + alt + / > 레지스트리 > 앱 실행 시 컴파일러 자동 생성 허용 확인

Notes

#🎜🎜 #1. java -jar 모드 또는 사용자 정의 클래스 로더 등과 같은 프로덕션 환경 devtool이 비활성화됩니다. 프로덕션 환경으로 인식됩니다.

2. SpringBoot Maven 플러그인의 제외Devtools 속성을 비활성화하지 않는 한 패키지 애플리케이션에는 기본적으로 devtools가 포함되지 않습니다.

3. Thymeleaf는 spring.thymeleaf.cache를 구성할 필요가 없습니다. devtools는 전체 속성을 참조하려면 클릭하세요.

다음은 devtools의 자동 구성을 위한 소스 코드의 일부입니다:

@Order(Ordered.LOWEST_PRECEDENCE)
public class DevToolsPropertyDefaultsPostProcessor implements EnvironmentPostProcessor {
    private static final Map<String, Object> PROPERTIES;
    static {
        Map<String, Object> properties = new HashMap<String, Object>();
        properties.put("spring.thymeleaf.cache", "false");
        properties.put("spring.freemarker.cache", "false");
        properties.put("spring.groovy.template.cache", "false");
        properties.put("spring.mustache.cache", "false");
        properties.put("server.session.persistent", "true");
        properties.put("spring.h2.console.enabled", "true");
        properties.put("spring.resources.cache-period", "0");
        properties.put("spring.resources.chain.cache", "false");
        properties.put("spring.template.provider.cache", "false");
        properties.put("spring.mvc.log-resolved-exception", "true");
        properties.put("server.jsp-servlet.init-parameters.development", "true");
        PROPERTIES = Collections.unmodifiableMap(properties);
    }

4 Devtools는 Windows 리소스 관리자에서 Java 프로세스를 차지하며 종료될 수 없습니다. 개발 도구에서는 수동으로만 종료합니다. 그렇지 않으면 반복 바인딩을 위해 포트가 선택되고 다시 시작할 때 오류가 보고됩니다.

더 많은 관련 콘텐츠를 보려면

PHP中文网

을 팔로우하세요.

위 내용은 Spring Boot가 핫 배포를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.