【已解决】springboot项目中引入本地依赖jar包,如何打包到lib文件夹中

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 经验分享
  • 时间:2023-02-26 12:38
  • 3790人已阅读
简介 前言:工作中,碰到过springboot框架构建的javaweb项目,需要集成第三方推送功能,于是使用到了小米推送服务,下载了相关jar包。项目中引入本地jar,问题不大,编写完代码后,通过测试类测试,也没问题。然后就准备打包部署到开发服上。由于项目是通过tomcat部署的,所以打包方式是打成war包。打包后上传到开发服,启动成功后去测试编写的推送接口,发现失败了。通过分析发现,打包后的war中存

🔔🔔🔔好消息!好消息!🔔🔔🔔

有需要的朋友👉:联系凯哥 微信号 kaigejava2022

前言:工作中,碰到过springboot框架构建的java web项目,需要集成第三方推送功能,于是使用到了小米推送服务,下载了相关jar包。项目中引入本地jar,问题不大,编写完代码后,通过测试类测试,也没问题。然后就准备打包部署到开发服上。由于项目是通过tomcat部署的,所以打包方式是打成war包。打包后上传到开发服,启动成功后去测试编写的推送接口,发现失败了。

通过分析发现,打包后的war中存放项目依赖jar的lib目录中并没有本地引入的推送相关的jar包。折腾了半个小时,才解决了问题。解决后才发现,其实是对maven这块的基础知识有点遗忘了。这里总结下springboot项目引入本地jar包,如何通过maven打包将jar打进lib文件夹中:

1. 首先在resources目录下创建一个lib文件夹,将需要的jar包放入lib文件夹中

75a4b9f93c1e20ee7be1c19c0dcf6569.png

2. 在pom.xml文件中,添加依赖坐标。注意:这里由于导入的本地jar,所以<dependency></dependency>标签中需要添加

<dependency>
	...
	<!-- 表示当前jar是外部引入的,maven不会在repository查找它 -->
	<scope>system</scope>
	<!-- 指定引入的外部jar存放的路径,一般将jar包放在项目的某个目录下,通过相对路径指定 -->
	<systemPath>...</systemPath>
</dependency>

a77d5a5c4b17a61c7d1f989f645272bb.png

<dependencies>
	<dependency> 
		<groupId>com.taobao.top</groupId> 
		<artifactId>lippi-oapi-encrpt</artifactId> 
		<version>dingtalk-SNAPSHOT</version> 
		<scope>system</scope> 
		//指定你的jar包路径
		<systemPath>${pom.basedir}/lib/lippi-oapi-encrpt.jar</systemPath> 
	</dependency>
</dependencies>

配置一个includeSystemScope属性: 设置为 true

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                <!--设置为true,以便把本地的system的jar也包括进来-->
                    <includeSystemScope>true</includeSystemScope>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

第三步:重新,清除,构建,打包 然后发布就OK了

fa0ee7ee97f08ad781782bac7136a8d5.png


TopTop