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所有依赖打包到项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringMVC异步处理操作(Callable和DeferredResult)
这篇文章主要介绍了SpringMVC异步处理操作(Callable和DeferredResult),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-01-01
最新评论