Project Defaults & Reload
설정을 생략했을 때 source/resource/package 경로를 추론하고 classpath 변경 시 reload trigger를 갱신합니다.
ProjectDefaults가 제공하는 값
SRC_MAIN_JAVA
프로젝트 root 아래 src/main/java
SRC_MAIN_RESOURCES
src/main/resources
BASE_PACKAGE
system property 또는 source/package 위치에서 추론
ROUTER_PACKAGE / HANDLER_PACKAGE / ENTITY_PACKAGE
base package 기반 관례
SWAGGER_OUTPUT_FILE
기본 Swagger JSON 출력 경로. AsyncAPI 출력은 RSocket watcher builder가 별도로 기본값을 가집니다.
base package 명시
java
String base = AutoConfigurationPackages.get(beanFactory).get(0);
System.setProperty("app.basePackage", base);멀티 모듈 또는 library class 위치 때문에 추론이 애매한 프로젝트에서는 watcher config의 package와 output path를 명시하는 편이 안전합니다.
reload trigger
WatchForMainRun은 기본 classpath root 아래 .reloadtrigger를 만들거나 갱신할 수 있습니다. classpath 관련 변경을 감지했을 때 trigger를 touch해 Spring Boot Devtools 같은 reload 흐름과 연결합니다.