[Spring] [IntelliJ] 정적리소스 서버 재시작없이 바로 반영하기
Web/팁

[Spring] [IntelliJ] 정적리소스 서버 재시작없이 바로 반영하기

 

 

 

 

스프링으로 이미지 업로드와 출력 기능을 구현하면서 업로드 한 파일을 바로 출력할때 반영이 안되는 상황이 있었습니다.

 

이미지를 업로드하자마자 바로 반영은 안되지만 인텔리제이를 한번 눌러서 저절로 폴더를 새로고침하고 그 다음 브라우저를 새로고침하면 이미지가 반영되게 만들었습니다.

 

 

1. devtools dependency 추가

dependencies {
	...생략...
	developmentOnly("org.springframework.boot:spring-boot-devtools")

}

 

 

2. application.yml 추가

 

devtools에

livereload.enabled -> true

restart.enabled -> true

thymeleaf.cache -> false (저는 타임리프를 사용중이어서 그렇습니다. 다른 기술 사용하시는 분들은 다른기술의 cache를 false로 해주세요)

spring:
  ...생략...
  devtools:
    livereload:
      enabled: true
    restart:
      enabled: true
  thymeleaf:
    cache: false

 

 

3. IntelliJ 설정

 

(1)

 

 

(2)

  • 맥 : (shift연속두번) 또는 (command + option + A)
  • 윈도우 : (Ctrl + Alt + Shift + /)

 

하면 나오는 창에서 registry... 클릭 (register... 아님 헷갈리지마세여)

 

compiler.automake.allow.when.app.running : Value에 체크하기

 

 

실행

실행할땐 gradle의 boot run이 아닌 메인 클래스를 직접 실행시켜야 합니다.

 

그러면 이미지를 업로드하자마자 바로 반영은 안되지만, 업로드를 한 후 인텔리제이를 한번 눌러서 저절로 폴더를 새로고침하고 그 다음 브라우저를 새로고침하면 이미지가 반영됩니다.