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所有依赖打包到项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
深入分析JAVA 多线程--interrupt()和线程终止方式
这篇文章主要介绍了JAVA 多线程--interrupt()和线程终止方式的的相关资料,文中代码非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下2020-06-06
Spring+Hibernate+Struts(SSH)框架整合实战
SSH是 struts+spring+hibernate的一个集成框架,是目前比较流行的一种Web应用程序开源框架。本篇文章主要介绍了Spring+Hibernate+Struts(SSH)框架整合实战,非常具有实用价值,需要的朋友可以参考下2018-04-04
Java Comparator.comparing比较导致空指针异常的解决
这篇文章主要介绍了Java Comparator.comparing比较导致空指针异常的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-07-07
Intellij IDEA集成JProfiler性能分析工具
作为Java程序员,性能分析是我们必须掌握的技能之一,在性能分析中,JProfiler是一款非常强大的工具,本文就来介绍一下Intellij IDEA集成JProfiler性能分析工具,就有一定的参考价值,感兴趣的可以了解一下2023-12-12
Java使用Spire.XLS for Java拆分Excel的实战教程
在日常数据处理中,Excel文件承载着海量信息,然而,面对包含多工作表、超长行数或需要按特定列进行分类的巨型Excel文件时,手动拆分无疑是一场噩梦,本文将深入探讨如何利用Java强大的编程能力,结合Spire.XLS for Java库,高效、精准地完成Excel文件的拆分任务2026-02-02


最新评论