Maven打包时引入本地jar包

Maven打包时引入本地jar包背景开发的时用到的jar包可能在私服中找不到,需在下载到本地,然后在编译器Eclipse或者IDEA中引入本地jar包,这样在本地开发是OK的,但是linux服务器通过Maven打包的时候会提示异常找不到对应的类。这是需要在我们的pom.xml文件添加点配置了。落地开发支付宝沙箱支付时,需要引入本地jar包,我把jar存放的项目中的/src/main/resources/lib下1.打…

大家好,又见面了,我是你们的朋友全栈君。

背景

开发的时用到的jar包可能在私服中找不到,需在下载到本地,然后在编译器Eclipse或者IDEA中引入本地jar包,这样在本地开发是OK的,但是linux服务器通过Maven打包的时候会提示异常找不到对应的类。这是需要在我们的pom.xml文件添加点配置了。

落地

开发支付宝沙箱支付时,需要引入本地jar包,我把jar存放的项目中的/src/main/resources/lib 下
在这里插入图片描述

1.打成war包引入本地jar

在build节点添加配置如下

<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>
			<compilerArguments>
				<extdirs>${project.basedir}/src/main/resources/lib</extdirs>
			</compilerArguments>
	</configuration>
</plugin>

${project.basedir}:表示当前项目的路径,该变量不用配置赋值的;
/src/main/resources/lib :表示我存放j本ar包的路径

2.SpringBoot打成jar包引入本地jar包

原文
后来的后来我把项目由Spring迁移到SpringBoot的时候,发现上传的配置并不能引入本地的jar包。pom文件的修改如下:

1.添加自定义的dependency

<!-- 引入本地jar包:支付宝模块 -->
<dependency>
	<groupId>com.alipay</groupId>
	<artifactId>com-alipay</artifactId>
	<version>1.0</version>
	<scope>system</scope>
          <systemPath>${project.basedir}/src/main/resources/lib/alipay-sdk-java20161213173952.jar</systemPath>
</dependency>
<dependency>
	<groupId>com.alipay.demo</groupId>
	<artifactId>com-alipay-demo</artifactId>
	<version>1.0</version>
	<scope>system</scope>
	<systemPath>${project.basedir}/src/main/resources/lib/alipay-trade-sdk-20161215.jar</systemPath>
</dependency>

scope:需要配置指定为system;
systemPath:指向jar包的地址;
groupId、artifactId、version:可以随意填写,其中artifactId+version就是maven打包后的jar包名

2.在build节点中的builds添加build

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

maven打成的jar解压后,在BOOT-INF下的lib目录中可以找到配置引入的jar包。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140732.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mybatis log plugin 激活码[免费获取]

    (mybatis log plugin 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月22日
    166
  • JPS算法_系统结构是什么

    JPS算法_系统结构是什么在A*算法的基础上,推导JPS算法的规则、特点

    2022年9月20日
    4
  • 算法练习:排列组合之组合和

    算法练习:排列组合之组合和

    2021年9月12日
    63
  • Netty系列三、Netty实战篇

    Netty系列三、Netty实战篇文章目录一、传递POJO二、GoogleProtobuf三、TCP粘包与拆包四、心跳检测五、Netty整合Log4j六、WebSocket七、Netty群聊八、Netty实现RPC服务调用九、短连接与长连接配合示例代码​ 这一篇我们就玩起来,通过一些常用的实战问题,来理解如何使用Netty进行网络编程。一、传递POJO​ 第一个示例参见示例代码中的com.roy.netty.pojoTransfer。​ 这个示例实现的功能是这样的:1、客户端建立连接后,就会往服务端发送一个User对象。

    2025年7月6日
    2
  • 原码补码相互转换[通俗易懂]

    原码补码相互转换[通俗易懂]1.基础概念原码:为十进制数的二进制表示,正数符号位为0,负数符号位为1例如:10的二进制为00001010,-10的二进制为10001010补码:为原码的计算码,通俗的讲,计算的时候用补码,看大小的时候用原码2.原码转换成补码正数原码转补码:正数的补码,与原码相同例如,10的原码为00001010,补码也是00001010负数原码转补码:负数的补码:符号位不变,其余各位按位取反,取反后整体加1例如:-10的原码为10001010…

    2025年7月4日
    3
  • oracle 判断正负号,Oracle Number型的深入理解

    oracle 判断正负号,Oracle Number型的深入理解NUMBER数据类型NUMBER(precision,scale)a)precision表示数字中的有效位;如果没有指定precision的话,Oracle将使用38作为精度。b)如果scale大于零,表示数字精确到小数点右边的位数;scale默认设置为0;如果scale小于零,Oracle将把该数字取舍到小数点左边的指定位数。c)Precision的取值范围为【1—38】;Sca…

    2022年7月24日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号