./categories/back-end
Spring Boot jar 구성·실행
빌드·실행
./gradlew bootJar # build/libs/*.jar
java -jar app.jar
jar tf app.jar | head
unzip -p app.jar META-INF/MANIFEST.MF
jar 구조
app.jar
├── BOOT-INF/
│ ├── classes/ # 앱 클래스
│ ├── lib/ # 의존 jar
│ ├── classpath.idx
│ └── layers.idx # Docker layer
├── META-INF/MANIFEST.MF
│ Main-Class: org.springframework.boot.loader.JarLauncher
│ Start-Class: com.example.App
└── org/springframework/boot/loader/
실행 흐름
java -jar→JarLauncher.main- nested jar 클래스패스 구성
- reflection으로
Start-Class의main호출
관련 링크: https://elsboo.tistory.com/27
./comments