SpringBoot打包可執行可依賴的jar包
阿新 • • 發佈:2018-12-18
一個Maven+SpringBoot的工程,既需要其生成的jar包能夠直接執行,又可以作為其它工程的依賴包。下面就說一說解決這個場景的思路:
1、spring-boot-maven-plugin預設打包出來的jar是不可依賴的
如果你在SpringBoot工程中使用了spring-boot-maven-plugin的預設配置build,那麼所生成的jar包雖然是可執行的,但卻是不可被依賴的。
2、打兩個jar包,一個用來直接執行,一個用作依賴包
通過修改pom.xml中spring-boot-maven-plugin的配置,可以讓所在工程一次打包生成兩個jar包,其中XXX.jar可作為其它工程的依賴,XXX-exec.jar可被執行。參考程式碼如下:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration><!-- 指定該Main Class為全域性的唯一入口 --> <source>${java.version}</source> <target>${java.version}</target> <encoding>UTF-8</encoding> <mainClass>com.cmsz.rjzc.ComponentrepApplication</mainClass> <layout>ZIP</layout> </configuration> <executions> <execution> <goals> <goal>repackage</goal><!--可以把依賴的包都打包到生成的Jar包中 --> </goals> <!--可以生成不含依賴包的不可執行Jar包 --> <configuration> <classifier>exec</classifier> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>