前言:
本文是使用maven引入第三方jar包,通过mvn命令打包。
以下为引入第三方jar包,打包进项目jar中的全流程步骤。
1、引入第三方jar包
1、放置路径
一般来说,放到项目(子项目)的resources的lib目录下。
2、pom引入
如图所示,<groupId>,<artifactId>,<version>随意填就可以了。
<scope>system</scope>表示从系统引入
<systemPath>中的路径则为第三方jar包在项目中引入的相对路径
<dependency>
<groupId>com.github.swms-project</groupId>
<artifactId>Epanet</artifactId>
<version>1.0.4</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/Epanet-1.0.4.jar</systemPath>
</dependency>
2、打包
1、报错
仅仅如上操作的话,在本地测试是没有问题的。但是部署的时候引用第三方jar包相关的话会报错。
报错信息如下所示:
2、解决
在项目根目录的pom下,加入如下构建时的配置:
不仅需要<goal>repackage</goal>,<includeSystemScope>true</includeSystemScope>也同样需要,不然打包的时候,第三方jar包不能被打进来。
<build>
<!-- 设置构建的 jar 包名 -->
<finalName>${project.artifactId}</finalName>
<plugins>
<!-- 打包 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal> <!-- 将引入的 jar 打入其中 -->
</goals>
</execution>
</executions>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>