11.5 실행 가능한 jar 만들기

프로덕션 환경에서 실행할 수있는 완전히 독립적 인 실행 가능한 jar 파일을 작성하여 예제를 마무리 해 보겠습니다. 실행 가능한 jar ( "fat jar"라고도 함)는 컴파일 된 클래스와 함께 코드가 실행해야하는 모든 jar 종속성을 포함하는 아카이브입니다.

실행 가능한 jars 와 Java

자바는 중첩 된 jar 파일 (즉, jar 파일 내에 포함 된 jar 파일)을 로드하는 표준 방법을 제공하지 않습니다. 자체 포함 된 응용 프로그램을 배포하려는 경우 문제가 될 수 있습니다.

이 문제를 해결하기 위해 많은 개발자들이 “shaded” jars을 사용합니다. 음영 처리 된 jars는 모든 jars의 모든 클래스를 단일 "uber jar"로 간단히 패키지합니다. 음영 처리 된 jar의 문제점은 응용 프로그램에서 실제로 어떤 라이브러리를 사용하고 있는지 파악하기 어렵다는 것입니다. 여러개의 jar 파일에서 동일한 파일 이름을 사용하지만 (내용이 다른 경우) 문제가 될 수 있습니다.

스프링 부트는 다른 접근 방식을arrow-up-right 취하고 실제로 jars를 직접 중첩 할 수 있게합니다.

실행 jars를 만들려면 우리는 pom.xmlspring-boot-maven-plugin를 추가해야합니다 . dependencies섹션 바로 아래에 다음 행을 삽입 하십시오.

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

spring-boot-starter-parentPOM 포함 <executions>바인드하는 구성 repackage목표를. 상위 POM을 사용하지 않는 경우이 구성을 직접 선언해야합니다. 자세한 내용은 플러그인 설명서arrow-up-right 를 참조하십시오.

다음을 pom.xml에 저장 하고 mvn package명령 창에서 실행 하십시오.

target디렉토리 를 보면 myproject-0.0.1-SNAPSHOT.jar를 볼 수 있습니다. 파일의 크기는 약 10MB 여야합니다. 내부를 들여다보고 싶다면 jar tvf를 사용할 수 있습니다 .

또한 target디렉토리에 myproject-0.0.1-SNAPSHOT.jar.original 명명된 훨씬 작은 파일을보아야합니다. Maven이 Spring Boot로 다시 패키지하기 전에 만든 원래의 jar 파일입니다.

해당 응용 프로그램을 실행하려면 다음 java -jar명령을 사용하십시오 .

이전과 마찬가지로 ctrl-c을 통해 정상적으로 애플리케이션을 종료합니다.

Last updated

Was this helpful?