본문 바로가기
Back/Spring Boot

[Spring Boot] 재시작 없이 정적 리소스 리로드하기

by 은z 2021. 10. 18.

 

Spring으로 프로젝트를 진행했을 때는 코드 수정 후 새로고침하면 바로 적용되었는데 Boot는 따로 설정이 필요하다.

 

  • Spring : webapp 폴더에 정적 리소스 (html/css/js)가 있어서 해당 경로로 톰캣이 작동하기 때문에 실시간 반영 가능
  • SpingBoot : resources 폴더 아래에 정적 리소스를 관리하다보니 갱신을 위해서는 톰캣 재시작이 필요함
    • ≫ path를 예전처럼 webapp으로 지정하는 방법도 있으나 해당 방법은 패키징 하거나 아니면 다른 것들의 path를 일일이 세팅해줘야하는 불편함이 있음
    • ≫ 기존 path를 유지하되 바로 리로드가 되는 devtool를 활용함

 

 

1. pom.xml에 maven 추가

devtools 라이브러리 장착 -> devtools 라이브러리가 정상적으로 받아졌는지 확인

		<!-- reload -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<scope>runtime</scope>
			<optional>true</optional>
		</dependency>

 

 

 

 

2. application.properties 파일에 옵션 추가

#reload
spring.devtools.restart.enabled=true
spring.devtools.livereload.enabled=true// LiveReload 브라우저 확장프로그램 설치시 적용

 

 

 

 

이후 프로젝트를 재시작하면 그 정적소스를 변경하고 저장하면

프로젝트를 재시작하지 않아도 브라우저 상 새로고침으로 변경된 사항이 적용된다.

댓글