2017-12-08 7 views
1

webapp에서 사용되는 라이브러리 라이브러리 인 jar 파일을 만드는 일반적인 Java 프로젝트가 있습니다. 항아리를 만드는 스프링 부트 스타터입니다. 간단한 물건.스프링 부트 실행 파일 jar 및 일반 라이브러리 jar 만들기

독립 실행 파일 jar 파일로 실행할 수 있기를 원했습니다. 그래서 CommandLineRunner를 구현하는 표준 Application.java를 작성하고 난 내 플러그인이 추가 :

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

넣거나, 내 항아리 실행 파일입니다.

그러나 플러그인은 더 이상 일반 라이브러리 jar가 아니며 내 웹 응용 프로그램이 클래스를 찾지 못하도록 디렉토리 구조를 변경합니다. 내 pom에서 플러그인 항목을 제거하면 webapp이 제대로 작동하지만 jar 파일은 더 이상 실행 가능하지 않습니다.

둘 다 수행 할 수 있습니까? 그렇다면 어떻게?

+0

올바른 방법은 공통 항목을 별도의 메이븐 프로젝트로 옮기고 Spring Boot와 웹 앱 모두에서 참조하는 것입니다. 또는 Maven 어셈블리 플러그인을 사용하여 두 번째 jar 이슈를 생성 할 수도 있습니다. – tsolakp

답변

0

스프링 부트 1.4.1 이전에는 가능했지만 그 이후는 아니 었습니다. 1.4.1 실행 가능한 jar에서 디렉토리 구조를 변경했습니다. 1.4.1 이후에는 jar가 실행 가능하거나 라이브러리가 될 수 있지만 둘 다 가능하지는 않습니다.

실행 파일과 라이브러리가 모두 동일한 jar 파일을 실제로 필요로하는 경우 스프링 부트 1.4.0 또는 이전 버전으로 되돌려 야합니다.