독립적으로 실행 가능한 JAR
mvn package -DskipTests- 배포하거나 이미지를 만들려면 JAR 패키지로 만들어야 한다. 
- target 패키지를 보면 JAR 파일이 생성된다. 
- JAR 파일 하나로 애플리케이션이 잘 돌아간다. 
- 그 수많은 의존성은 다 어떻게 되는걸까? - JAR 안에 모든 의존성이 다 들어가있다. 
 
그런데 자바에는 jar를 읽을 수 있는 표준적인 방법이 없다. 옛날에는 모든 걸 다 합쳐 압축해서 뭐가 뭔지 알 수가 없었다.
스프링 부트의 전략
- 내장 JAR - JAR 안에 JAR를 묶어놓고 읽을 수 있게 만들어 놓는다. 
 
- 애플리케이션 클래스와 라이브러리의 위치를 구분한다. 
- org.springframework.boot.loader.jar.JarFile - 내장 JAR를 읽는다. 
 
- org.springframework.boot.loader.Launcher - JAR 파일을 실행한다. 
 
Last updated
Was this helpful?