SpringBoot將所有依賴(包括本地jar包)打包到項(xiàng)目
SpringBoot將所有依賴(包括本地jar包)打包到項(xiàng)目
Maven 添加本地依賴包
在項(xiàng)目根目錄添加lib文件夾,存放不在maven倉(cāng)庫(kù)中存在的jar包
如下兩個(gè)推送包,(名字可以自定義
//華為推送服務(wù)端jar包 HwPush_SDK_Server_0_3_12.jar //小米推送服務(wù)端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包打包到項(xiàng)目的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>
<!-- 某些情況下,打包后運(yùn)行不起來(lái)需要打開(kāi)注釋 -->
<!-- <resource>
<directory>src/main/resources</directory>
<targetPath>BOOT-INF/classes/</targetPath>
</resource> -->
</resources>
</build> 執(zhí)行package命令后即可將本地jar包打進(jìn)去
Springboot中如何引入本地jar包,并通過(guò)maven把項(xiàng)目成功打包成jar包部署
這個(gè)jar包不在maven倉(cāng)庫(kù)里面,如果我們要引入這個(gè)下載的jar包。有兩種方法可以試試:
- 本地直接引入,打包到依賴文件中。
- 打包上傳到maven本地倉(cāng)庫(kù)中,然后pom文件正常引入。
直接本地引入
- 在resource文件夾下面新建lib文件夾,需要的數(shù)據(jù)庫(kù)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填寫(xiě)引入jar包的版本號(hào)即可。
systemPath這個(gè)路徑填寫(xiě)jar包的所在路徑。
scope需要填寫(xiě)system,這個(gè)不可省略,否則可能會(huì)報(bào)錯(cuò)。
${project.basedir}是一個(gè)系統(tǒng)常量,代表當(dāng)前項(xiàng)目的根目錄。
- 項(xiàng)目打包時(shí)引入本地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倉(cāng)庫(kù)
我們還可以使用相關(guān)的maven命令,把相關(guān)的jar包上傳到maven倉(cāng)庫(kù),然后就可以在項(xiàng)目中直接引用了。
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:引入依賴時(shí)填寫(xiě)的groupId
-DartifactId:引入依賴時(shí)填寫(xiě)的artifactId
-Dversion:版本號(hào)
-Dpackaging:打包方式
如此一來(lái)基本上可以滿足我們的需求了,如果有需要再補(bǔ)充打包到遠(yuǎn)端倉(cāng)庫(kù)的操作。
到此這篇關(guān)于SpringBoot將所有依賴(包括本地jar包)打包到項(xiàng)目的文章就介紹到這了,更多相關(guān)SpringBoot所有依賴打包到項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java開(kāi)發(fā)之request對(duì)象常用方法整理
這篇文章主要介紹了 Java開(kāi)發(fā)之request對(duì)象常用方法整理的相關(guān)資料,需要的朋友可以參考下2017-02-02
深入分析JAVA 多線程--interrupt()和線程終止方式
這篇文章主要介紹了JAVA 多線程--interrupt()和線程終止方式的的相關(guān)資料,文中代碼非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06
Spring+Hibernate+Struts(SSH)框架整合實(shí)戰(zhàn)
SSH是 struts+spring+hibernate的一個(gè)集成框架,是目前比較流行的一種Web應(yīng)用程序開(kāi)源框架。本篇文章主要介紹了Spring+Hibernate+Struts(SSH)框架整合實(shí)戰(zhàn),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-04-04
Java Comparator.comparing比較導(dǎo)致空指針異常的解決
這篇文章主要介紹了Java Comparator.comparing比較導(dǎo)致空指針異常的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
使用Feign擴(kuò)展包實(shí)現(xiàn)微服務(wù)間文件上傳
這篇文章主要為大家詳細(xì)介紹了使用Feign擴(kuò)展包實(shí)現(xiàn)微服務(wù)間文件上傳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
Intellij IDEA集成JProfiler性能分析工具
作為Java程序員,性能分析是我們必須掌握的技能之一,在性能分析中,JProfiler是一款非常強(qiáng)大的工具,本文就來(lái)介紹一下Intellij IDEA集成JProfiler性能分析工具,就有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12
Java使用Spire.XLS for Java拆分Excel的實(shí)戰(zhàn)教程
在日常數(shù)據(jù)處理中,Excel文件承載著海量信息,然而,面對(duì)包含多工作表、超長(zhǎng)行數(shù)或需要按特定列進(jìn)行分類的巨型Excel文件時(shí),手動(dòng)拆分無(wú)疑是一場(chǎng)噩夢(mèng),本文將深入探討如何利用Java強(qiáng)大的編程能力,結(jié)合Spire.XLS for Java庫(kù),高效、精準(zhǔn)地完成Excel文件的拆分任務(wù)2026-02-02

