수동 저장 시 IntelliJ IDEA 봄 부트 핫 새로고침?
목표는 다음과 같습니다.
봄 부팅 프로젝트에 대해 IntelliJ IDEA에 자동 저장 사용 안 함
파일을 수동으로 저장할 때 항상 프로젝트 무중단 다시 로드
이 두 가지 목표를 동시에 달성하는 것은 불가능한 것 같습니다.
다음 설정을 수정하여 IntelliJ IDEA에서 자동 저장을 비활성화할 수 있습니다.
빌드, 실행, 배포 -> 컴파일러 자동 빌드 프로젝트 선택 취소
또한 이러한 옵션을 수정하는 것이 너무 필요하다고 생각합니다.
모양 및 동작 -> 시스템 설정 동기화에서 파일 저장 모두 선택 취소(프레임 비활성화 및 자동으로 파일 저장)
Mkyong의 도움으로 핫 다시 로드를 활성화할 수 있습니다.Mkyong-help 링크에서 볼 수 있듯이 '프로젝트 자동 구축'을 설정해야 합니다.이 두 단계를 모두 수행하면 응용프로그램은 항상 편집 비용을 절약하고 응용프로그램을 항상 핫 새로고침합니다.
정말 실망스럽습니다. 저는 IntelliJ IDEA가 핫 리로드와 같은 산업 핵심 기능을 쉽게 처리할 수 있는 현대적인 IDE라고 생각했습니다.
문제는 파일을 변경할 때마다 응용프로그램을 무중단 다시 로드하고 싶지 않다는 것입니다.그 이유는 지속적으로 핫 새로고침이 발생하여 대부분의 경우 애플리케이션이 중단되기 때문입니다.단지 너무 불필요하고 자원을 낭비합니다.수동으로 파일을 저장할 때 항상 핫 다시 로드하려고 합니다. 이는 다른 많은 편집자의 표준입니다.이 문제에 대한 해결책이 있어야 합니다. 왜냐하면 사람들은 그들의 개발을 위해 합리적인 핫 리로드를 원하기 때문입니다.
내가 알기로는 당신의 문제는 당신이 변경을 할 때마다 스프링 서버가 자동으로 다시 로드되어 수동으로 저장되기를 바라는 것으로 알고 있습니다.그렇죠? 만약 그렇다면, 제 단계를 따라오세요. 그러면 당신은 원하는 것을 얻을 수 있기를 바랍니다.
spring-boot-devtools 종속성 포함
메이븐
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
그라들
dependencies {
compile("org.springframework.boot:spring-boot-devtools")
}
자동 재시작이 작동하도록 컴파일러 환경설정에서 "프로젝트 자동 만들기"를 활성화합니다.
사가능을 사용 으로 설정합니다.compiler.automake.allow.when.app.running
IntelliJ의 레지스트리 설정.는 IntelliJ의 바로 수 .Shift+Command+A
그런 다음 레지스트리를 검색합니다.
세 번째 단계에서는 변경사항을 수동으로 저장할 때 프로젝트 빌드(프로젝트 만들기)가 자동으로 수행됩니다.
이러한 단계는 IDE를 통해 변경사항을 수동으로 저장한 후 스프링 서버를 강제로 재부팅합니다.그러나 서버를 재부팅하더라도 변경할 때마다 브라우저를 새로 고쳐야 합니다.브라우저가 자동으로 새로 고쳐지도록 하려면 브라우저에 라이브 다시 로드라는 확장 기능이 설치되어 있어야 합니다.http://livereload.com/extensions/ 링크를 확인하십시오.링크는 브라우저에 따라 이 확장을 설치하는 방법을 보여줍니다.
IntelliJ 2021.2에서는 이 옵션을 클릭하기만 하면 됩니다. https://youtrack.jetbrains.com/api/files/74-1125614?sign=MTYzMDgwMDAwMDAwMHwxMS04NzUyMzF8NzQtMTEyNTYxNHxON0lqdXpkVUo4ZG1VOGlqMjRsQkY3%0D%0AVjRXbHJlQ1oxM0hfaE0tVGd0cG9zDQo%0D%0A&updated=1627651335092
IDEA Ultimate Edition에서 잘 작동하고 코드가 핫 스왑될 때 응용 프로그램의 일부를 다시 시작하지 않는 간단한 워크플로우는 다음과 같습니다.
Spring Boot Developer 도구 설치
- 이는 모든 가이드의 첫 번째 단계입니다. 설명서의 지침을 따르십시오.
올바른 Spring Boot 실행 구성 만들기
여기서 중요한 단계는 다양한 옵션에 대한 툴팁의 설명을(를) 설정하는 것입니다.지정만Update classes or resources
응용 프로그램의 일부가 다시 로드되지만 응용 프로그램을 처음부터 시작하는 것보다 훨씬 빠릅니다. 내용은 다음을 하십시오.Restart vs Reload
설명을 위한 문서의 섹션.
Boot 을 디버그 하십시오. Spring Boot 응용 프로그램 Shift + F9
인 내용을 한 후에 java 파일콘적일변텐누를다릅니경고하부츠CTRL + F10
방금 변경한 클래스와 리소스가 업데이트됩니다.좋은 결과를 얻으려면 브라우저의 캐시를 비활성화하여 이전 버전의 정적 리소스가 표시되지 않도록 합니다.
템플릿 편집
템플릿 엔진을 사용하는 경우 설명서는 컨테이너를 다시 시작하지 않고 다시 로드하는 방법에 대한 지침을 제공합니다.
(선택사항) LiveReload를 사용하여 브라우저 새로 고침 트리거
Spring Boot Developer Tools에는 컨텐츠가 변경될 때마다 브라우저 다시 로드를 트리거할 수 있는 LiveReload 서버가 포함되어 있습니다.
아래 버전의 Community Edition을 사용하고 있습니다.
IntelliJ IDEA 2021.2.2(커뮤니티 에디션)
다음은 수동 저장 시 무중단 다시 로드를 위해 수행한 단계입니다.
1단계는 메이븐 종속성 pom.xml에 spring-boot-dev-tools 종속성을 추가했습니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
3단계
수동 저장 시 재시작을 위한 컴파일러 고급 설정
언급URL : https://stackoverflow.com/questions/43129647/intellij-idea-spring-boot-hot-reload-on-manual-save
'source' 카테고리의 다른 글
$.jSON이 IE8에서 캐시된 데이터를 반환합니다. (0) | 2023.08.15 |
---|---|
그래프의 최대 깊이에 대한 MariaDb 쿼리 (0) | 2023.08.15 |
결제 게이트웨이에 대한 안내가 필요합니다. (0) | 2023.08.15 |
alembic.ini 외부에 alembic 연결 문자열을 저장할 수 있습니까? (0) | 2023.08.10 |
스프링 부트 & MariaDB - 자동 배선 문제 - 빈을 찾을 수 없음 (0) | 2023.08.10 |