본문 바로가기
카테고리 없음

Spring Boot devtools 적용 시 LiveReload 미작동 문제 - 해결 방법

by 추우망고 2025. 5. 30.
반응형

목차

👉Spring Boot devtools 적용 시 LiveReload 미작동 문제 확인하기

서론

최근 소프트웨어 개발의 흐름은 빠른 피드백을 요구하고 있습니다. 특히 웹 애플리케이션 개발 시, 코드를 수정하고 결과를 즉시 확인하는 것은 매우 중요한 요소입니다. 이러한 요구를 충족시키기 위해 Spring Boot는 Devtools라는 유용한 도구를 제공합니다. Devtools는 개발자가 코드를 수정할 때마다 서버를 재시작하지 않고도 변경 사항을 자동으로 반영할 수 있게 도와줍니다. 그 중에서 LiveReload는 개발 중 변경된 내용을 즉시 웹 브라우저에서 반영해주는 기능으로, 개발 경험을 한층 향상시켜 줍니다.

 

하지만 LiveReload 기능을 설정한 후에도 정상적으로 작동하지 않는 경우가 발생할 수 있습니다. 이를 해결하기 위해서는 몇 가지 설정을 확인하고 조정해야 합니다. 이번 블로그 글에서는 Spring Boot Devtools 적용 시 LiveReload가 미작동하는 문제의 원인과 그 해결 방법에 대해 상세히 설명하겠습니다.

Spring Boot Devtools와 LiveReload란?

Spring Boot Devtools는 개발 중 불편함을 최소화하기 위해 설계된 도구로, 애플리케이션을 자동으로 재시작하거나 변경된 내용을 감지하여 반영하는 여러 기능을 제공합니다. 이 도구는 주로 개발 환경에서 사용되며, 프로덕션 환경에서는 불필요한 리소스를 소모할 수 있으므로 제외하는 것이 좋습니다.

 

LiveReload는 Devtools의 기능 중 하나로, 클라이언트 브라우저의 페이지를 자동으로 새로 고침하여 코드 변경 사항을 즉시 반영합니다. 이를 통해 개발자는 매번 페이지를 수동으로 새로 고침할 필요 없이 결과를 쉽게 확인할 수 있습니다. 그러나 설정이 올바르지 않으면 LiveReload가 작동하지 않아 불편함을 초래할 수 있습니다.

Devtools 설정 방법

Devtools를 사용하기 위해서는 먼저 build.gradle 파일에 관련 의존성을 추가해야 합니다. build.gradle 파일에 다음과 같이 설정을 추가합니다:

  • dependencies {
  • developmentOnly 'org.springframework.boot:spring-boot-devtools'
  • }

이렇게 설정하면 Devtools가 개발 환경에만 적용되며, 프로덕션 빌드에서는 제외됩니다. 이후 Gradle 프로젝트를 새로 고침하여 변경 사항을 적용해야 합니다.

 

또한, IDE(예: IntelliJ IDEA)의 설정에서도 Build project automatically 옵션을 활성화해야 합니다. 이는 파일이 변경될 때마다 프로젝트를 자동으로 빌드하여 변경 사항을 반영하도록 돕습니다.

👉Spring Boot devtools 적용 시 LiveReload 미작동 문제 바로가기

LiveReload의 기본 설정

LiveReload를 제대로 사용하기 위해서는 몇 가지 기본 설정이 필요합니다. 먼저 application.yml 파일에서 Thymeleaf의 캐시 설정을 false로 변경하세요:

  • spring:
  • thymeleaf:
  • cache: false

이 설정은 Thymeleaf가 매번 페이지를 로드할 때마다 템플릿 파일을 새로 읽도록 하여 개발 중 변경 사항을 즉시 반영합니다. 단, 이 설정은 개발 환경에서만 사용해야 하며, 성능 저하를 피하기 위해 프로덕션 환경에서는 비활성화해야 합니다.

IntelliJ IDEA에서의 추가 설정

IntelliJ IDEA를 사용한다면 몇 가지 추가 설정을 통해 LiveReload 기능을 더욱 원활하게 사용할 수 있습니다. 먼저, Build, Execution, Deployment에서 Compiler 섹션으로 이동합니다. 여기서 Build project automatically 옵션을 체크합니다.

 

그 다음, Advanced Settings에서 Allow auto-make to start even if developed application is currently running 옵션을 체크하여 애플리케이션이 실행 중이어도 자동으로 빌드를 시작하도록 설정합니다.

브라우저에서의 LiveReload 설치

LiveReload 기능을 사용하기 위해서는 브라우저에 LiveReload 확장 프로그램을 설치해야 합니다. 크롬과 같은 주요 브라우저의 경우 LiveReload 확장 프로그램을 다운로드하여 설치한 후 활성화합니다. 설치가 완료되면, 웹 애플리케이션을 실행한 상태에서 HTML 파일을 수정하면 실시간으로 변경 사항이 반영되는 것을 확인할 수 있습니다.

LiveReload 미작동 원인

LiveReload가 정상적으로 작동하지 않는 경우, 다음과 같은 원인을 살펴봐야 합니다:

  • Devtools가 제대로 설정되지 않았거나 적용되지 않은 경우
  • 브라우저에 LiveReload 확장 프로그램이 설치되지 않았거나 비활성화된 경우

이 외에도 캐시 설정이 잘못되었거나 IDE의 설정이 누락된 경우에도 LiveReload가 작동하지 않을 수 있습니다. 따라서 설정을 다시 점검하고 필요한 부분을 수정하는 것이 중요합니다.

결론

Spring Boot의 Devtools와 LiveReload는 개발 과정에서의 편리함을 크게 향상시켜 주는 도구입니다. 이 두 가지를 통해 개발자는 코드 수정 후 즉각적인 피드백을 받을 수 있으며, 이는 전체적인 개발 효율성을 높이는 데 기여합니다. 그러나 설정 과정에서 작은 실수가 발생할 수 있으며, 이는 LiveReload 미작동으로 이어질 수 있습니다. 따라서 올바른 설정을 통해 이러한 문제를 예방하고 최적의 개발 환경을 유지하는 것이 중요합니다.

 

이번 글을 통해 Devtools와 LiveReload의 설정과 미작동 원인 및 해결 방법에 대해 알아보았습니다. 이러한 정보가 도움이 되어 원활한 개발 환경을 구축할 수 있기를 바랍니다.

FAQ

Q. Devtools는 프로덕션 환경에서도 사용할 수 있나요?

A. Devtools는 주로 개발 환경에서 사용되며, 프로덕션 환경에서는 성능 저하를 초래할 수 있으므로 제외하는 것이 좋습니다.

Q. LiveReload가 작동하지 않으면 어떻게 해야 하나요?

A. LiveReload가 작동하지 않는 경우, Devtools와 LiveReload 설정을 다시 점검하고, 브라우저의 확장 프로그램이 활성화되어 있는지 확인해야 합니다.

Q. Thymeleaf의 캐시 설정은 개발 환경에서만 사용해야 하나요?

A. 네, Thymeleaf의 캐시 설정은 개발 환경에서만 사용해야 하며, 프로덕션 환경에서는 비활성화해야 성능 저하를 방지할 수 있습니다.

Q. IntelliJ IDEA 외의 IDE에서도 Devtools를 사용할 수 있나요?

A. 예, Devtools는 다양한 IDE에서 사용될 수 있으며, 각 IDE에 맞는 설정을 통해 동일한 기능을 활용할 수 있습니다.

Q. LiveReload가 반응이 느린데, 이럴 경우 어떻게 하나요?

A. LiveReload의 반응 속도가 느릴 경우, 네트워크 환경이나 브라우저의 성능과 관련이 있을 수 있습니다. 이 경우 다른 브라우저를 사용하거나 네트워크 상태를 점검해보세요.

👉Spring Boot devtools 적용 시 LiveReload 미작동 문제 확인하기
반응형