복붙노트

[SPRING] 스프링 부트 devtools - IntelliJ에서 정적 컨텐츠 다시로드가 작동하지 않습니다.

SPRING

스프링 부트 devtools - IntelliJ에서 정적 컨텐츠 다시로드가 작동하지 않습니다.

첫 번째 Spring Boot 앱을 만들 때 /resources/static/some-file.js의 Javascript 파일을 변경할 때마다 내 앱을 다시 시작해야한다는 것을 알았습니다.

이것은 매우 시간 소모적입니다.

파일을 / webapps / 폴더로 이동하면 예상대로 작동하지만 파일은 JAR에 패키지되지 않습니다. 문서에서이 점을 언급하므로이 방법을 계속 사용할 수 없습니다.

나는 spring-boot-devtools에 관한 모든 것을 읽었고 그것을 POM에 설치했다. 그러나 hotswapping은 작동하는 데 솔기가 없다. Javascript 나 CSS 파일이 변경 되려면 전체 앱을 다시 시작해야합니다.

앱이 시작되면 LiveReload 서버가 포트 35729에서 실행되는 것을 볼 수 있습니다. 따라서 spring-boot-devtools가 뭔가를 수행해야합니다 ...

무엇이 잘못되었는지 더 조사하는 단계는 무엇입니까?

내 생각 엔 IntelliJ에서 응용 프로그램을 실행하면 파일이 복사되므로 변경 작업을 수행 할 때 실행중인 응용 프로그램이 사용하는 파일이 아니라 원본 파일을 실제로 변경하고있는 것 같습니다.

추신 : 저는 Maven, IntelliJ IDEA 15 및 Spring Boot 1.3.3을 임베디드 Tomcat 서버와 함께 사용하고 있습니다. IntelliJ가 앱을 시작하기 위해 어떤 명령을 실행하는지 잘 모르겠습니다. IDE가이를 "자동으로"처리합니다. 아마도 실행 구성을 변경해야합니까?

해결법

  1. ==============================

    1.이 작업을 수행하려면 IntelliJ의 몇 가지 기능을 켜야합니다.

    이 작업을 수행하려면 IntelliJ의 몇 가지 기능을 켜야합니다.

    먼저, devtools를 사용하고자하는 프로젝트에 적용해야하는 프로젝트 별 설정이 있습니다. 환경 설정> 컴파일러로 이동하여 "프로젝트 자동으로 만들기"를 활성화하십시오.

    다음 설정은 모든 프로젝트에 적용되는 IDEA 레지스트리 설정입니다.

    그 후에 앱을 다시 시작하십시오. 당신은 당신이하는 모든 변화에 따라 프로젝트가 재건축된다는 것을 알게 될 것입니다. 브라우저에서 결과를 체크 아웃하면 정적 파일과 코드가 모두 업데이트 된 것을 볼 수 있습니다.

    나는 또한 조금 전에 이것에 관한 블로그 포스트를 썼다. http://patrickgrimard.com/2016/01/18/spring-boot-devtools-first-look/

  2. ==============================

    2.Windows 사용자의 경우 단계는 다음과 같습니다. 1) 파일 -> 설정으로 이동 한 다음 "빌드, 실행, 배포"-> 컴파일러로 이동하여 "프로젝트 자동으로 작성"플래그를 활성화하십시오. 2) Ctrl-Alt-Shift- /를 누르고 나타나는 메뉴에서 "레지스트리"를 선택하십시오. compiler.automake.allow.when.app.running 플래그를 활성화하십시오. 3) 앱을 시작 / 다시 시작하고 정적 콘텐츠 다시로드를 관찰합니다.

    Windows 사용자의 경우 단계는 다음과 같습니다. 1) 파일 -> 설정으로 이동 한 다음 "빌드, 실행, 배포"-> 컴파일러로 이동하여 "프로젝트 자동으로 작성"플래그를 활성화하십시오. 2) Ctrl-Alt-Shift- /를 누르고 나타나는 메뉴에서 "레지스트리"를 선택하십시오. compiler.automake.allow.when.app.running 플래그를 활성화하십시오. 3) 앱을 시작 / 다시 시작하고 정적 콘텐츠 다시로드를 관찰합니다.

  3. ==============================

    3.Mac 사용자의 경우 Command + Shift + A를 눌러야했습니다.

    Mac 사용자의 경우 Command + Shift + A를 눌러야했습니다.

    레지스트리 옵션이 나타나지 않으면 1 단계 및 2 단계 후에 INTELLIJ를 다시 시작하십시오.

  4. ==============================

    4.Linux에서는 다음을 누릅니다.

    Linux에서는 다음을 누릅니다.

    Ctrl-Alt-Shift- /

  5. from https://stackoverflow.com/questions/35895730/spring-boot-devtools-static-content-reloading-does-not-work-in-intellij by cc-by-sa and MIT license