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包也被我们打包进来了。