본문 바로가기
📍ETC/🜸 개발환경

[IntelliJ / Hotswap] 서버 재시동 하지 않고 코드 실시간 반영하기

by 예리Yelee 2021. 6. 12.
반응형

📍개발환경 

     Spring boot(gradle) + Java + thyemleaf + Intellij community + Mac OS

 

회사에서 백과 프론트에 이어 퍼블리싱을 하게 되면서 😮‍💨

비쥬얼 스튜디오 코드처럼 live server를 이용해 코드를 실시간 반영하는 방법이 없을까 검색했다

여러 블로그에 있는 포스팅을 참조하여 설정을 하였지만 버전이 달라지면서 꽤나 바뀐 부분이 있는 듯하다

 

몇 번의 노력 끝에 드디어 실시간 반영이 잘 되는 것을 확인하고 남기는 포스팅 - !

( 2021년 6월 12일 기준 정상 동작 확인 )

 

1. Dependencies 추가

    developmentOnly("org.springframework.boot:spring-boot-devtools")

 

2. 속성값 설정

application.yml (또는 application.properties)에 속성 값 설정

spring:
  devtools:
    livereload:
      enabled: true
    restart:
      enabled: true
  thymeleaf:
    cache: false

 

3. IntelliJ 설정

IntelliJ IDEA -> Preferences (단축키 Cmd + , ) -> Build, Execution, Deployment -> Compiler에서 'Build Project automatically'에 ✓체크 후 apply 한 다음 OK!

 

Edit Configurations에서 Configuration 탭 내에 Spring Boot 설정하는 곳을 보면

On 'Update' action과 On frame deactivation 옵션이 있다.

각각 아래의 스크린샷과 같이 설정해주면 끝 !

 

 

디버그 모드로 실행 후 인텔리제이에서 view 관련 코드 수정을 하면 바로 반영되지는 않고

브라우저에서 새로 고침을 해야 반영이 된다 (반쪽자리 성공?,, 🧐)
Java Class는 Run -> Debugging Actions -> Reaload Changed Classes를 클릭하면 서버가 재시작되지 않고

반영되는 것을 확인할 수 있다. 

반응형

댓글