java项目打包成maven,附带打包本地lib依赖-爱代码爱编程
现在的Java项目都是基于springboot 的plugin打包,打包的时候快捷便利。springboot的打包插件在pom文件里的配置如下
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<finalName>${project.artifactId}</finalName>
<mainClass>cn.keyou.cmas.CMASApplication</mainClass>
<includeSystemScope>true</includeSystemScope>
<executable>true</executable>
</configuration>
<executions>
<execution>
<goals>
<goal>build-info</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
configuration标签的里面的属性配置也很重要
- finalName是你打包出的jar包名,一般都是项目名。
- mainClass是主程序入口,没有写的话,执行jar包的时候一般会报没有主清单属性。
- includeSystemScope就是要是否打包本地依赖的属性。在项目里面有用到本地依赖包的话就要改为true。不然就会爆NoClassDefFoundError
在pom文件里加入本地依赖可以进行一下配置
<dependency>
<groupId>com.iholstein.icow</groupId>
<artifactId>ihos-sdk-engine</artifactId>
<version>0.0.4-RELEASE</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/iHos-sdk-engine-3.3.1-RELEASE.jar</systemPath>
</dependency>
依赖的scope要配成 system,systemPath是本地依赖的路径一般在项目目录的libs包下,{project.basedir},就是项目的基本路径