일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링
- @RestCotroller
- 인스타그램만들기
- 인텔리제이
- 리눅스 서버시간 변경
- .ppk만들기
- 다리를 지나는 트럭
- 개발 뭐하지
- Java
- Git
- 백엔드
- springboot
- 입력
- 개발자
- RESTful
- 스프링 OAuth
- 깃허브
- 클론코딩
- 스프링부트
- Spring
- Scanner
- BufferedReader
- 프로그래머스
- 깃
- 백엔드 개발자 뭐해?
- git hub
- 서비스 계층
- string
- 예외처리
- RESTful웹서비스
- Today
- Total
It's Ward
[Spring] 스프링 Intellij - 실시간 반영하기(코드 자동 재시작) 본문
Spring Boot로 웹 페이지를 만들다보면, 굉장히 불편한 상황이 연출된다.
간단하게 테스트를 하고싶은데 코드를 살짝 변경할 때마다, 정지 - 시작 - 정지 - 시작을 계속 반복해야 하기때문이다.
여러가지 방법이 있지만, 필자는 구글링을 통해 단편적으로 있는 웬만한 방법들을 다 해봐도 실패했었는데,
결국 거의 모든 사항을 적용하고 나서 성공 할 수 있었다.
** intelliJ 버전 2022.05 기준 , Java JDK 11 , gradle
** Spring Initializr 기준 2.7.0, Spring Web, Spring boot DevTools, Thymelaf
순서대로 진행하면서, 적용 되는 부분까지 시도를 하면되겠습니다.
1. Google Live Reload 플러그인 설치
필자는 크롬을 사용하여 진행하였는데, 맨 마지막에 해당 플러그 인을 설치하고 나서 성공하여 허탈한 기분이 들었다... 혹시라도 설치되어있지 않다면, 먼저 설치하고 진행하도록 하자.
설치가 모두 되었으면 크롬 주소창 오른쪽의 빨간색 퍼즐버튼을 눌러, 고정시키고 필요할 때 마다 키도록 하자.
https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei?hl=ko
2.build.gradle 설정 확인
project에 build.gradle - dependencies에 해당 설정이 되어있지않다면 추가한다.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
}
3. Preference 설정
File - Settings - Build,Excution,Deployment -> Compiler - Build project automatically 체크
File - Settings - Advanced Settings - Allow auto-make to start evem if developed application is currently running 체크
4. 브라우저 캐시 삭제
브라우저 캐시가 잡고 있어, 설정이 되어있어도 안되는 경우가 있다. 크롬 설정에서 인터넷 기록 삭제를 진행한다.
5. Properties 캐쉬 사용안함
Spring boot를 intelliJ의 gradle 설정을 진행하면, yml파일이 아닌 apllication.properties에서 설정을 진행하여야 한다.
spring.devtools.livereload.enabled=true
spring.devtools.remote.restart.enabled=false
spring.freemarker.cache = false
spring.thymeleaf.cache=false
spring.thymeleaf.prefix=classpath:/templates/
다음과 같이 properties에 추가하자.
그래도 안된다면.. 잘 모르겠다. maven 또는 학생용 ultimate 로 진행하는 부분은 굉장히 자료가 많던데 어쩌면 일반 커뮤니티를 사용해서 그럴지도모르겠다.
'Java > Spring' 카테고리의 다른 글
[Spring] RESTful 웹서비스 (0) | 2022.06.23 |
---|---|
[Spring] @Controller와 @RestController 동작 방식 및 차이점 (0) | 2022.06.21 |
[Spring] 빌더 패턴(Bulider Pattern)에 대해 알아보자 (0) | 2022.06.21 |
[Spring] Spring의 특징과 계층 구조 (0) | 2022.06.20 |
[Spring] 트랜잭션(Transaction)이란 무엇일까? (1) | 2022.06.18 |