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中添加如下內(nèi)容
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 指定SpringBoot程序的main函數(shù)入口類 -->
<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> 執(zhí)行package命令后即可將本地jar包打進去
Springboot中如何引入本地jar包,并通過maven把項目成功打包成jar包部署
這個jar包不在maven倉庫里面,如果我們要引入這個下載的jar包。有兩種方法可以試試:
- 本地直接引入,打包到依賴文件中。
- 打包上傳到maven本地倉庫中,然后pom文件正常引入。
直接本地引入
- 在resource文件夾下面新建lib文件夾,需要的數(shù)據(jù)庫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}是一個系統(tǒng)常量,代表當前項目的根目錄。
- 項目打包時引入本地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所有依賴打包到項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
深入分析JAVA 多線程--interrupt()和線程終止方式
這篇文章主要介紹了JAVA 多線程--interrupt()和線程終止方式的的相關資料,文中代碼非常細致,幫助大家更好的理解和學習,感興趣的朋友可以了解下2020-06-06
Spring+Hibernate+Struts(SSH)框架整合實戰(zhàn)
SSH是 struts+spring+hibernate的一個集成框架,是目前比較流行的一種Web應用程序開源框架。本篇文章主要介紹了Spring+Hibernate+Struts(SSH)框架整合實戰(zhàn),非常具有實用價值,需要的朋友可以參考下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的實戰(zhàn)教程
在日常數(shù)據(jù)處理中,Excel文件承載著海量信息,然而,面對包含多工作表、超長行數(shù)或需要按特定列進行分類的巨型Excel文件時,手動拆分無疑是一場噩夢,本文將深入探討如何利用Java強大的編程能力,結合Spire.XLS for Java庫,高效、精準地完成Excel文件的拆分任務2026-02-02

