핫 배포 가란 무엇입니까?
프로젝트 개발 중에 페이지 데이터 또는 데이터 구조가 종종 변경된다는 것을 모두 알고 있습니다. 변경 효과를 표시하려면 종종 변경 효과를보기 위해 응용 프로그램을 다시 시작해야합니다. 실제로, 그것은 다시 컴파일되고 생성되는 새로운 클래스 파일입니다. 이 파일은 코드에 해당하는 다양한 정보를 기록한 다음 클래스 파일에 가상 머신의 클래스 로더가로드됩니다.
핫 배포는이 기능을 활용합니다. 클래스 파일이 변경되면 파일을로드하기 위해 새 클래스 로더를 생성한다는 사실을 듣습니다. 일련의 프로세스 후에 결과는 마침내 우리에게 제시 될 것입니다.
클래스 로딩 메커니즘
컴파일러는 코드를 바이트 코드를 저장하는 클래스 파일로 컴파일 할 수 있습니다. 클래스 파일은 다양한 정보를 저장하고 결국 실행 및 사용을 위해 가상 머신에로드됩니다. 클래스 로딩 메커니즘 ( "Java Virtual Machine에 대한 심층적 인 이해"에서 발췌) 가상 머신은 클래스 파일에서 클래스를 메모리로 설명하는 데이터를로드하고 데이터를 확인하고, 변환하고, 구문 분석하고 초기화하며, 마지막으로 가상 머신에서 직접 사용할 수있는 Java 유형을 형성합니다.
스프링 부트는 핫 배치를 구현합니다
Spring Boot는 다음과 같은 방법으로 핫 배치를 구현합니다.
스프링로드
이 방법은 Maven 플러그인 형식으로로드되므로 Maven Command mvn spring-boot:run 하지만 Application.Run을 사용하여 시작됩니다. 애플리케이션을 시작할 때 Maven 플러그인 메커니즘이 우회 되었기 때문에 유효하지 않습니다.
POM 통합 방법 :
<빌드> <플러그인> <grugin> org.springframework.boot </groupId> <artifactid> spring-boot-maven-plugin </artifactid> <pectionements> <groupId> org.springframework </groupid> <artifactid> springloaded </artifactid> <5. </plugin> </plugin> </plugins> </build>
스프링 부트 곤란
이 메소드는 파일을 수정 한 후 응용 프로그램을 다시 시작하는 데 사용될 수 있습니다.
POM 통합 :
<!-핫 배포 모듈-> <pectionency> <groupId> org.springframework.boot </groupid> <artifactid> spring-boot-devtools </artifactid> <옵션 </sectional> <!-효과적이기 위해서는 진정한 배포가 필요합니다-> </fectency>
통합주의
#Shield Thymeleaf Cache (제안 : 개발 환경이 False로 설정되고 생성 환경이 True로 설정 됨) spring.thymeleaf.cache = false
1. DevTools의 경우 디렉토리를 지정하거나 핫 배포를 위해 디렉토리를 제외 할 수 있습니다.
#그 디렉토리를 추가하는 파일은 RETARTSPRING.DEVTOOLS.RESTART.ADDITIONAL-PATHS = SRC/MAIN/JAVA#디렉토리를 제외하는 파일을 다시 시작하는 파일을 다시 시작합니다.
파일 수정을 활성화하여 프로젝트를 자동으로 다시 시작하도록 아이디어 설정
1. 아이디어의 환경 설정 -> 빌드, 실행, 배포 -> 컴파일러, 자동으로 빌드 프로젝트 확인을 확인하십시오.
2. 아이디어의 일반적인 인터페이스로 돌아갑니다. Mac의 경우 바로 가기 키 Shift+Option+Command+/를 사용하십시오. 창의 바로 가기 키는 Shift+Ctrl+alt+/입니다. 레지스트리를 열고 확인하십시오.
compiler.automake.allow.when.app.runningcompiler.automake.alow.cap.app.running
위의 설정을 통해 서비스를 다시 시작하지 않고 HTML을로드 할 수 있지만 Java 파일을 수정하면 서비스가 몇 초 안에 자동으로 다시 시작됩니다. 서비스를 다시 시작하지 않으려면 spring.devtools.reatart.enable = application.properties 또는 application.yml을 추가해야합니다.
요약
위의 것은 편집자가 소개 한 Spring Boot 통합 Spring-Boot-DevTools의 핫 배치입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!