728x90
반응형
Spring-boot-loader
모듈은 실행가능한 jar와 war파일을 생성해준다.
maven이나 gradle을 사용한다면 쉽게 생성할 수 있다.
세부적으로 어떻게 동작하는지 구체적으로 알 필요는 없다.
JAVA는 중첩된 jar파일을 로드하는 기준을 제공하지 않는다.
따라서 스프링부트가 지원하는 방법은 아래와 같다.
실행가능한 JAR파일 구조
example.jar
|
+-META-INF
| +-MANIFEST.MF
+-org
| +-springframework
| +-boot
| +-loader
| +-<spring boot loader classes>
+-BOOT-INF
+-classes
| +-mycompany
| +-project
| +-YourClasses.class
+-lib
+-dependency1.jar
+-dependency2.jar
어플리케이션 클래스들은 BOOT-INF/classes 디렉터리에 있다.
의존성을 가지는 파일들은 BOOT-INF/lib에 있다.
JarFile
스프링부트는 org.springframework.boot.loader.jar.JarFile 를 통해 표준 jar파일을 읽어올 수 있다.
Launching Executable Jars
org.springframework.boot.loader.Launcher 클래스는 실행가능한 jar의 기본 진입점으로 사용되는
부트스트랩 클래스이다.
Main-class jar파일의 실제 파일이다.
세 가지 실행 서브 클래스가 있다(JarLauncher, WarLauncher, PropertiesLauncher)
JarLauncher : BOOT-INF/lib
WarLauncher : WEB-INF/lib
PropertiesLauncher : BOOT-INF/lib
728x90
반응형
'Spring' 카테고리의 다른 글
Spring Cloud Gateway GatewayFilter (0) | 2020.12.29 |
---|---|
Spring Cloud Gateway predicates 테스트 (0) | 2020.12.29 |
Spring Cloud Gateway Actuator enabled 방법 (0) | 2020.12.15 |
SpringBoot logback 설정 (0) | 2020.11.24 |
SpringBoot SpringCloudGateway 초기세팅 (0) | 2020.11.24 |