개발하다 보면 코드 수정 후 서버 재시작이 반복되면서 생산성이 크게 떨어진다.
대표적인 해결책이 JRebel이지만, 유료라는 점이 부담이다.
그래서 무료 대안으로 사용할 수 있는 것이 Spring Loaded다.
이 글에서는 Eclipse 환경에서 Spring Loaded를 적용하는 방법을 정리한다.
Spring Loaded란?
Spring Loaded는 JVM 재시작 없이 클래스 변경을 반영해주는 도구다.
특징
- 코드 수정 후 서버 재시작 없이 반영
- 무료 (오픈소스)
- Spring 기반 프로젝트에 최적화
단점도 있다:
- 최신 Spring Boot에서는 일부 제약 존재
- JRebel보다 안정성/지원 범위는 제한적
적용 전 체크사항
먼저 아래 조건을 확인한다.
- Java 8 ~ 11 환경 권장
- Spring Boot 2.x 이하에서 안정적
- Eclipse 사용 중
1. Spring Loaded 다운로드
GitHub 또는 Maven Repository에서 JAR 파일을 다운로드한다.
파일 예시: springloaded-1.2.8.RELEASE.jar
적당한 경로에 저장: C:\springloaded\
2. JVM 옵션 설정 (핵심)
Eclipse에서 실행 설정을 수정한다.
Run Configuration → VM arguments
아래 옵션 추가:
-javaagent:C:/springloaded/springloaded-1.2.8.RELEASE.jar
-noverify
👉 중요 포인트
- 경로는 반드시 본인 환경에 맞게 수정
-noverify없으면 동작 안 되는 경우 있음

3. Eclipse 자동 빌드 설정
자동 반영을 위해 아래 설정을 켠다.
설정 경로
Project → Build Automatically 체크
또는
Window → Preferences → General → Workspace
→ Build automatically 체크
4. 코드 변경 테스트
이제 실제로 동작하는지 확인한다.
테스트 방법
- 서버 실행
- Controller 또는 Service 코드 수정
- 저장 (Ctrl + S)
👉 정상이라면
- 서버 재시작 없이 바로 반영됨
5. 적용이 안 될 때 해결 방법
1) 변경이 반영 안 됨
- Clean → Build 다시 실행
- Eclipse 재시작
2) 일부 클래스만 반영됨
- 메서드 변경은 OK
- 클래스 구조 변경(필드 추가 등)은 제한 있음
3) Spring Boot 최신 버전
Spring Loaded 대신 추천: JRebel (유료), Spring DevTools (추천)
Spring Loaded 대신 추천 옵션 (현실적인 선택)
요즘은 사실 Spring Loaded보다 아래가 더 많이 쓰인다.
Spring Boot DevTools
- 자동 재시작 지원
- 설정 간단
- 공식 지원
developmentOnly 'org.springframework.boot:spring-boot-devtools'
👉 체감상 이게 더 편한 경우 많다.
정리
- JRebel 없이도 개발 생산성 개선 가능
- Spring Loaded로 빠른 코드 반영 환경 구축
- 다만 최신 환경에서는 DevTools가 더 현실적인 선택