programing

스프링 부트 devtools - IntelliJ에서는 정적 콘텐츠 새로고침이 작동하지 않습니다.

skycolor 2023. 3. 23. 22:33
반응형

스프링 부트 devtools - IntelliJ에서는 정적 콘텐츠 새로고침이 작동하지 않습니다.

첫 Spring Boot 앱을 만들 때 /resources/static/some-file.js에서 Javascript 파일을 변경할 때마다 앱을 재시작해야 한다는 것을 알게 되었습니다.

이것은 매우 시간이 걸립니다.

파일을 /webapps/폴더로 이동하면 예상대로 동작하지만 파일이 JAR에 패키지되어 있지 않습니다.의사 선생님들이 이런 말을 하니까 더 이상 이런 식으로 할 수 없어요.

에 대해서 다 읽었어요.spring-boot-devtoolsPOM에 설치했지만 핫스왑이 제대로 작동하지 않습니다.Javascript 파일 또는 CSS 파일 변경을 보려면 앱 전체를 재시작해야 합니다.

앱이 시작되면 선이 보인다.LiveReload server is running on port 35729,그렇게spring-boot-devtools뭔가 하고 있는 게 틀림없어

무엇이 잘못되었는지 더 자세히 조사하려면 어떻게 해야 합니까?

IntelliJ가 앱을 실행하면 파일이 복사되기 때문에 변경할 때 실제로 실행 중인 앱이 아닌 원본 파일을 변경합니다.

PS: 임베디드 Tomcat 서버에서 Maven, IntelliJ IDEA 15 및 Spring Boot 1.3을 사용하고 있습니다.IntelliJ가 앱을 시작하기 위해 어떤 명령을 실행하는지 잘 모르겠습니다.IDE가 이것을 「자동」으로 처리하고 있다.실행 구성을 변경해야 할 수도 있습니다.

이것을 실행하려면 , 인텔리J 의 몇개의 기능을 유효하게 할 필요가 있습니다.

먼저 devtools를 사용하는 모든 프로젝트에 적용해야 하는 프로젝트별 설정이 있습니다.[ Preferences ]> [ Compiler ]으로 이동하여 [Make project automatically]를 유효하게 합니다.

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

  • macOS(OSX)에서 를 누릅니다.Shift+Command+A(Shift+Ctrl+AWindows 의 경우)
  • 표시되는 검색 상자에 「Registry」라고 입력하고, 레지스트리를 선택해 엽니다.
  • 조회 컴파일러오토메이크allow.when.app.running을 실행하여 활성화합니다.

그런 다음 앱을 다시 시작합니다.변경할 때마다 프로젝트가 계속 재구축됩니다.브라우저에서 결과를 확인하면 정적 파일과 코드가 모두 업데이트되었음을 확인할 수 있습니다.

Windows 유저의 순서는 다음과 같습니다.
1) [파일]-> [설정]- [빌드], [실행], [전개]-> [컴파일러]순서로 이동하여 [프로젝트 자동 작성]플래그를 유효하게 합니다.
를 누르고 에서 [를 선택합니다.2) Ctrl-Alt-Shift-/는 레지스트리(Registry)를 선택합니다운전when flagallow 를 합니다.when.app.running 을 실행합니다.
을 기동새로고침을 합니다.3) 아/아/아/아/아/아/아/아/아/아/아/아/아/아/아/아/아니다.

IntelliJ 2021.2 버전 이후에서는 다음 절차를 따라야 합니다.

  1. 아직 추가되지 않은 경우 spring-boot-devtools 종속성을 추가합니다.

  2. 아래 그림과 같이 자동으로 빌드 프로젝트 활성화

여기에 이미지 설명 입력

  1. 다음과 같이 [상세설정]에서 옵션을 유효하게 합니다.

여기에 이미지 설명 입력

Linux 의 경우는, 다음을 누릅니다.

Ctrl-Alt-Shift-/

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

또한 레지스트리 옵션이 표시되지 않는 스텝1과 스텝2 후에 INTELLIJ를 재기동합니다.

다음과 같이 사용할 수 있습니다.

  1. 처음 열기 기본 설정.../설정...-> 빌드, 실행, 전개 -> 컴파일러 및 빌드 프로젝트를 자동으로 허용합니다.이미지는 다음과 같습니다.

여기에 이미지 설명 입력

  1. 다음으로 레지스트리 설정을 변경합니다.command+shift를 누릅니다.+A(MacOS용) 또는 Windows를 사용하는 경우 Ctrl+Shift+A를 누르고 레지스트리를 검색합니다.컴파일러를 유효하게 합니다.오토메이크allow.when.app.running 입니다.이미지가 아래처럼 보입니다.

레지스트리 이미지는 다음과 같습니다.

여기에 이미지 설명 입력

컴파일러.오토메이크allow.when.app.running enable 이미지는 다음과 같습니다. 여기에 이미지 설명 입력

그럼 즐기세요.

옵션이 [Advanced settings](상세설정)으로 변경되었습니다.

IntelliJ 상세 설정

언급URL : https://stackoverflow.com/questions/35895730/spring-boot-devtools-static-content-reloading-does-not-work-in-intellij

반응형