springboot引入外部jar包

摘要:springboot项目想要引用一个jar包,而这个jar包在远程仓库上没有,该怎么办?

springboot项目想要引用一个jar包,而这个jar包在远程仓库上没有,该怎么办?

有两个办法:

一、 用 mvn install:install-file命令将jar包安装到本地仓库,然后直接引用即可。

1
2
3
4
5
6
mvn install:install-file
-Dfile=lib/woodstox-core-5.0.3-mod.jar \
-DgroupId=com.fasterxml.woodstox \
-DartifactId=woodstox-core \
-Dversion=5.0.3-mod \
-Dpackaging=jar

二、 将jar包放到项目目录下,将scope设置为system,并指定jar包的位置。

1
2
3
4
5
6
7
8
<dependency>
<groupId>com.fasterxml.woodstox</groupId>
<artifactId>woodstox-core</artifactId>
<version>5.0.3-mod</version>
<!--引用外部jar包-->
<scope>system</scope>
<systemPath>${project.basedir}/lib/woodstox-core-5.0.3-mod.jar</systemPath>
</dependency>

但是这样做有一个问题就是:springboot项目打包时默认不会把这个jar包加入到BOOT-INF/lib目录下,导致项目无法正常运行。

如何解决呢?很简单,修改一下springboot打包插件的配置即可。

1
2
3
4
5
6
7
8
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 打包时包含引入的外部jar包 -->
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>