1、首先,我们再pom.xml中导入依赖包时,打包可以正常进行。
但如果我们引入了第三方的外部jar包(这里需要先把jar包添加到该项目依赖库中,这里不做演示),如图
2、导致打包时报错,程序包不存在或找不到符号,如图
3、这里我们需要改写pom.xml(其实和引入普通jar包差不多)
<dependency>
<!--groupId 随便填写 -->
<groupId>sdk</groupId>
<!--artifactId 随便填写-->
<artifactId>java</artifactId>
<!--version 随便填写-->
<version>1.2.0</version>
<!-- scope=system表示此依赖是来自外部jar,而不是maven仓库。当scope设置为system时,systemPath属性才会生效,systemPath为一个物理文件路径,来指定依赖的jar其物理磁盘的位置。 -->
<scope>system</scope>
<!-- ${project.basedir}代表根目录 -->
<systemPath>${project.basedir}/lib/sdk-java-1.2.0.jar</systemPath>
</dependency>
添加完之后,代码中就可以使用到该jar里的类和方法,但是到这里还没完。
4、上一步仅仅是引用到了项目里,打包的时候是不会打包到jar/war中的。需要在pom.xml的加入以下配置.
<resources>
<resource>
<!-- directory 表示取该目录下的文件 -->
<directory>lib</directory>
<!--targetPath 指定打包到哪个目录下 默认是放到class目录下-->
<targetPath>/BOOT-INF/lib/</targetPath>
<!-- 取符合格式的所有文件 *代表全部 -->
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</resources>
5、最后终于成功了!!!
6、我们看一下jar包中的内容,很显然我们引入的第三方jar包也被我们打包进来了。