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

标题可能有点绕口,在实际开发中,有时所引用的jar架包无法在 maven 中央仓库里找到,那么j就要引用本地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 的配置,就不会打进去,项目启动或运行后就会报错
这里写图片描述

SpringBoot项目打成 jar 包被其他项目引用

SpringBoot项目默认使用spring-boot-maven-plugin,要打成被其他项目引用的jar包,需要更换此插件

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

更换maven插件

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
   <configuration>
       <source>1.8</source>
       <target>1.8</target>
       <encoding>UTF-8</encoding>
   </configuration>
</plugin>

下篇 RabbitMQ消息队列

展开阅读全文

Windows版YOLOv4目标检测实战:训练自己的数据集

04-26
©️2020 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值