SpringBoot將所有依賴(包括本地jar包)打包到項目
SpringBoot將所有依賴(包括本地jar包)打包到項目
Maven 添加本地依賴包
在項目根目錄添加lib文件夾,存放不在maven倉庫中存在的jar包
如下兩個推送包,(名字可以自定義
//華為推送服務(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包打包到項目的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)常量,代表當(dā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倉庫
我們還可以使用相關(guān)的maven命令,把相關(guān)的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
:打包方式
如此一來基本上可以滿足我們的需求了,如果有需要再補充打包到遠端倉庫的操作。
到此這篇關(guān)于SpringBoot將所有依賴(包括本地jar包)打包到項目的文章就介紹到這了,更多相關(guān)SpringBoot所有依賴打包到項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
動態(tài)修改spring?aop?切面信息提升自動日志輸出框架效率
這篇文章主要為大家介紹了動態(tài)修改spring?aop切面信息提升自動日志輸出框架效率,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07一篇文章掌握J(rèn)ava?Thread的類及其常見方法
Thread類用于操作線程,是所以涉及到線程操作(如并發(fā))的基礎(chǔ)。本文將通過代碼對Thread類的功能作用及其常見方法進行分析2022-03-03JAVA中通過Redis實現(xiàn)延時任務(wù)demo實例
Redis在2.0版本時引入了發(fā)布訂閱(pub/sub)功能,在發(fā)布訂閱中有一個channel(頻道),與消息隊列中的topic(主題)類似,可以通過redis的發(fā)布訂閱者模式實現(xiàn)延時任務(wù)功能,實例中會議室預(yù)約系統(tǒng),用戶預(yù)約管理員審核后生效,如未審批,需要自動變超期未處理,使用延時任務(wù)2024-08-08詳解Java synchronized關(guān)鍵字的用法
在多線程編程中常常使用鎖機制來確保同一時刻只有一個線程能夠修改共享內(nèi)存,在Java中一般是使用synchronized作為鎖機制,下面就讓我們來學(xué)習(xí)一下如何使用synchronized實現(xiàn)線程安全吧2023-08-08