SpringBoot将所有依赖(包括本地jar包)打包到项目
作者:飞鸟的轨迹
这篇文章主要介绍了SpringBoot将所有依赖(包括本地jar包)打包到项目,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
SpringBoot将所有依赖(包括本地jar包)打包到项目
Maven 添加本地依赖包
在项目根目录添加lib文件夹,存放不在maven仓库中存在的jar包
如下两个推送包,(名字可以自定义
//华为推送服务端jar包
HwPush_SDK_Server_0_3_12.jar
//小米推送服务端jar包
MiPush_SDK_Server_2_2_18.jar
1.在pom.xml中添加依赖
<dependency>
<groupId>com.xiaomi</groupId>
<artifactId>MiPush_SDK_Server_2_2_18</artifactId>
<version>2.2.18</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/MiPush_SDK_Server_2_2_18.jar </systemPath>
</dependency>
<!-- 华为推送 -->
<dependency>
<groupId>com.huawei.hms</groupId>
<artifactId>HwPush_SDK_Server_0_3_12</artifactId>
<version>0.3.12</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/HwPush_SDK_Server_0_3_12.jar</systemPath>
</dependency>
1.在
SpriingBoot
中将本地jar包打包到项目的jar包里,需要build中添加如下内容
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 指定SpringBoot程序的main函数入口类 -->
<mainClass>com.redsoft.epip.EPIPApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<!-- 打包本地jar包 -->
<extdirs>${project.basedir}/lib</extdirs>
</compilerArguments>
</configuration>
</plugin>
</plugins>
<!-- 打包所有jar包 -->
<resources>
<resource>
<directory>lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
<!-- 某些情况下,打包后运行不起来需要打开注释 -->
<!-- <resource>
<directory>src/main/resources</directory>
<targetPath>BOOT-INF/classes/</targetPath>
</resource> -->
</resources>
</build>
执行package命令后即可将本地jar包打进去
Springboot中如何引入本地jar包,并通过maven把项目成功打包成jar包部署
这个jar包不在maven仓库里面,如果我们要引入这个下载的jar包。有两种方法可以试试:
-
本地直接引入,打包到依赖文件中。
-
打包上传到maven本地仓库中,然后pom文件正常引入。
直接本地引入
-
在resource文件夹下面新建lib文件夹,需要的数据库jar包放到这里
-
在pom文件中引入刚刚添加的文件。
<dependency>
<groupId>cn.sgclub.utils</groupId>
<artifactId>common-utils</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/cn.sgclub.utils.common-utils-1.0.0.jar</systemPath>
</dependency>
groupId
和
artifactId
可以自定义,建议和所要引入的jar包不要有太大的出入,
version
填写引入jar包的版本号即可。
systemPath
这个路径填写jar包的所在路径。
scope
需要填写system,这个不可省略,否则可能会报错。
${project.basedir}
是一个系统常量,代表当前项目的根目录。
-
项目打包时引入本地jar包,需要在打包插件中引入
<includeSystemScope>
,具体的如下所示。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>
上传jar包到maven仓库
我们还可以使用相关的maven命令,把相关的jar包上传到maven仓库,然后就可以在项目中直接引用了。
mvn install:install-file
-Dfile=D:/Workspace/cn.sgclub.utils.common-utils-1.0.0.jar
-DgroupId=cn.sgclub.utils
-DartifactId=common-utils
-Dversion=1.0.0
-Dpackaging=jar
-Dfile
:jar包文件的地址
-DgroupId
:引入依赖时填写的groupId
-DartifactId
:引入依赖时填写的artifactId
-Dversion
:版本号
-Dpackaging
:打包方式
如此一来基本上可以满足我们的需求了,如果有需要再补充打包到远端仓库的操作。
到此这篇关于SpringBoot将所有依赖(包括本地jar包)打包到项目的文章就介绍到这了,更多相关SpringBoot所有依赖打包到项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
使用SpringBoot和JPA实现批量处理新增、修改
2023-06-06
Java多线程的sleep休眠的实现
2023-06-06
详解如何使用SpringBoot的缓存@Cacheable
2023-06-06
Spring IOC (DI) 依赖注入的四种方式示例详解
2023-06-06
SpringBoot程序打包失败(.jar中没有主清单属性)
2023-06-06
SpringBoot调用第三方WebService接口的两种方法
2023-06-06
mybatis-plus如何使用mapper的xml
2023-06-06
解决mybatis映射mapper.xml文件不编译的问题
2023-06-06
美国设下计谋,用娘炮文化重塑日本,已影响至中国
2021-11-19
时空伴随者是什么意思?时空伴随者介绍
2021-11-09
工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
2021-11-05
2022年放假安排出炉:五一连休5天 2022年所有节日一览表
2021-10-26
电脑版
-
返回首页
2006-2023 脚本之家 JB51.Net , All Rights Reserved.
苏ICP备14036222号