SpringBoot互联网项目开发(十):引用本地jar包与打包本地jar

标题可能有点绕口,在实际开发中,有时所有引用的jar架包无法在 maven 中央仓库里找到,那么引用本地jar包就成为了必须,然而在项目开发完成后,需要打包部署时,引用的本地jar架包没有相应的打包进去,就会导致项目运行失败或运行错误

本篇文章分享引用本地jar与打包本地jar,总结起来很简单,分3步:
- 1.在项目资源目录下创建一个文件夹,用来存放 本地jar包
- 2.在pom.xml中添加 本地jar包的引用,引用目录为第一步创建的文件目录
- 3.在pom.xml的plugins中添加编译打包的目录,使本地jar包能打到项目中去

先准备好本地jar包,然后在项目的resources目录创建 lib 目录,把本地jar包放进 lib 下,我以在项目中用到 微信支付的jar包作为示例
这里写图片描述

1.在Pom.xml中引用本地jar包
<dependency>
    <groupId>com.github.wxpay</groupId>
    <artifactId>wxpay-sdk</artifactId>
    <version>0.0.3</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/resources/lib/wxpay-sdk-0.0.3.jar</systemPath>
</dependency>

创建一个WeiXinPay.java类,测试本地jar包是否可以导入在代码中了,用一个main方法测试,发现可以使用 com.github.wxpay.sdk 命令空间下的 WXPay 对象,说明引用本地jar包成功
这里写图片描述

2.此时,可以在项目中进行开发了,但是打包部署项目时, wxpay-sdk-0.0.3.jar 不会打到主项目包中,为什么呢?因为还需要在 pom.xml 里面做一些配置,配置如下:
<plugins>
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
            <compilerArguments>
                <extdirs>${project.basedir}/src/main/resources/lib</extdirs>
            </compilerArguments>
        </configuration>
    </plugin>
</plugins>

加入上面的 plugin 配置后,在 ieda 中,打开 Maven Projects,展开Lifecycle,点击 package,对项目进行打包,可以看到 idea 左下角显示 BUILD SUCCESS , Building jar: E:\git_worker\spring-web\expend\target\expend-0.0.1-SNAPSHOT.jar,项目打包后的位置
这里写图片描述

通过 好压打开 expend-0.0.1-SNAPSHOT.jar ,看看项目的jar包里面的目录与文件结构
这里写图片描述

在expend-0.0.1-SNAPSHOT.jar\BOOT-INF\lib目录下,可以看到 wxpay-sdk-0.0.3.jar 被打包进去了,如果在 pom.xml 中不加 plugin 的配置,就不会打进去,项目启动或运行后就会报错
这里写图片描述

猜你喜欢

转载自blog.csdn.net/zhuyu19911016520/article/details/81511067