[SPRING] Spring 기반 Java 애플리케이션에서 단일 실행 가능 JAR 작성
SPRINGSpring 기반 Java 애플리케이션에서 단일 실행 가능 JAR 작성
특정 네임 스페이스 내의 패키지를 찾는 구성 요소 / 패키지 검사를 수행하는 스프링 기반 응용 프로그램이 있습니다. 응용 프로그램은 Eclipse에서 완벽하게 실행되며 다양한 실행 환경에 배포 할 단일 실행 가능 JAR을 만들고 싶습니다.
이 방법을 사용하기 위해 여러 가지 방법을 시도했지만 작동하는 유일한 방법은 JAR 외부의 폴더에 종속성을 포함시키는 것입니다. 여기 제가 지금까지 시도한 것이 있습니다 -
따라서 내 코드에서 문제가되지 않는다고 생각합니다. 단일 JAR 내부에서 스캔을 수행하는 패키징 스프링 문제가있는 것으로 보입니다. 그것이 맞을까요?
누구나 단일 실행 파일 JAR에 패키지 / 구성 요소 검사를 수행하는 스프링 기반 응용 프로그램을 빌드하는 방법에 대한 조언이 있습니까?
대답:
다음 XML을 POM 파일에 추가하고 "mvn package"를 사용 했으므로 작동하는 단일 실행 파일이 만들어졌습니다. 그것이 효과가 있었던 이유는 여전히 수수께끼입니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.company.project.MainApp</mainClass>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
해결법
-
==============================
1.uberjar 만들기에 Maven Shade Plugin을 사용하십시오. 이것은 또한 당신을 도울 수 있습니다.
uberjar 만들기에 Maven Shade Plugin을 사용하십시오. 이것은 또한 당신을 도울 수 있습니다.
-
==============================
2.나는 정확히 똑같은 단계를 수행하면서 오늘 당신과 똑같은 문제를 겪었습니다. :)
나는 정확히 똑같은 단계를 수행하면서 오늘 당신과 똑같은 문제를 겪었습니다. :)
메시지를 보내 주셔서 감사합니다. 시간을 절약 할뿐 아니라, "왜 작동했는지 아직도 수수께끼입니다." 문장 :
그래서 Maven Shade Plugin 문서에 명시된 maven 스 니펫에 두 개의 트랜스포머를 추가해야합니다.
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer" <resource>META-INF/spring.handlers</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer" <resource>META-INF/spring.schemas</resource> </transformer
출처 : http://robert-reiz.com/2011/11/14/832/
이해를 돕기를 바랍니다.)
-
==============================
3.이클립스에서 이것을 시도하십시오 : 메뉴에서 File -> Export -> Runnable JAR file을 선택한다.
이클립스에서 이것을 시도하십시오 : 메뉴에서 File -> Export -> Runnable JAR file을 선택한다.
사양 창에서 : (다른 공백을 올바르게 채운 후) 라이브러리 처리 : 두 번째 선택
및 마침
이제 cmd 또는 terminal에서 다음 명령을 시도하십시오. java -jar [당신의 프로젝트 이름]
희망이 도움이된다.
-
==============================
4.추가 목표 매개 변수가있는 단일 병에 옵션 1 Maven Compile을 사용할 수 있습니다.
추가 목표 매개 변수가있는 단일 병에 옵션 1 Maven Compile을 사용할 수 있습니다.
mvn clean package spring-boot:repackage
Spring 자동로드 기능을 사용하여 독립 실행 형 jar 파일을 만듭니다.
from https://stackoverflow.com/questions/28193970/create-a-single-executable-jar-from-a-spring-based-java-application by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring : @SessionAttributes 대 HttpSession (0) | 2019.03.16 |
---|---|
[SPRING] Spring 3.1 사용자 정의 제약 조건 유효성 검사기에서 자동 와이어 링이 작동하지 않습니다. (0) | 2019.03.16 |
[SPRING] GWT 서비스 예외 로깅에 대한 유용한 정보 (0) | 2019.03.16 |
[SPRING] 스프링 보안과 함께 여러 개의 보안 컨텍스트를 가질 수 있습니까? (0) | 2019.03.16 |
[SPRING] Maven 프로젝트 용 애플리케이션 설정 파일은 어디에 두어야하나요? (0) | 2019.03.16 |