springboot加載外部jar的項(xiàng)目實(shí)踐
1. 以現(xiàn)有項(xiàng)目jar:xxx.jar為例
如根據(jù)不同數(shù)據(jù)庫(kù)需要更換使用不同的jdbc驅(qū)動(dòng)jar的場(chǎng)景: 把外部驅(qū)動(dòng)jar放到lib-dir1,lib-dir2等目錄。
2. 再確定項(xiàng)目jar的類型
- 查看jar的META-INF/MANIFEST.MF文件中的Main-Class(也可以windows下用解壓縮工具查看)
unzip -p xxxx.jar META-INF/MANIFEST.MF | grep Main-
- Main-Class類型主要有以下3類
Main-Class: org.springframework.boot.loader.JarLauncher 或者 Main-Class: org.springframework.boot.loader.PropertiesLauncher 或者 Main-Class: x.y.z (x.y.z是示例,以實(shí)際為準(zhǔn),只要不是前兩個(gè))
3. 修改jar啟動(dòng)方式
若原啟動(dòng)命令為([....]為其他參數(shù)部分)
[....] java [....] -jar xxx.jar [....]
修改啟動(dòng)方式為:
- Main-Class: org.springframework.boot.loader.JarLauncher
[....] java [....] -Dloader.path="lib-dir1,lib-dir2" -cp "xxx.jar" org.springframework.boot.loader.PropertiesLauncher [....]
- Main-Class: org.springframework.boot.loader.PropertiesLauncher
[....] java [....] -Dloader.path="lib-dir1,dir2" -jar xxx.jar [....] 或者 [....] java [....] -Dloader.path="lib-dir1,dir2" -cp "xxx.jar" org.springframework.boot.loader.PropertiesLauncher [....]
- Main-Class: x.y.z (x.y.z是示例,以實(shí)際為準(zhǔn),只要不是前兩個(gè))
多個(gè)外置目錄用“:”(英文冒號(hào)) [....] java [....] -cp "xxx.jar:lib-dir1/*:lib-dir2/*" x.y.z [....]
知識(shí)點(diǎn)
- java 參數(shù)
java -cp “xxx.jar:lib1/*:lib2/*” x.y.z -cp: 指定java運(yùn)行加載的類路徑,linux下英文冒號(hào)分割(windows下英文分號(hào)分隔) x.y.z 為啟動(dòng)類
- springboot 默認(rèn)打包后的啟動(dòng)類 參見:官網(wǎng)

到此這篇關(guān)于springboot加載外部jar的項(xiàng)目實(shí)踐的文章就介紹到這了,更多相關(guān)springboot加載外部jar內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot項(xiàng)目部署在linux上運(yùn)行的兩種方式小結(jié)
這篇文章主要介紹了springboot項(xiàng)目部署在linux上運(yùn)行的兩種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
SpringMVC中的handlerMappings對(duì)象用法
這篇文章主要介紹了SpringMVC中的handlerMappings對(duì)象用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
Spring Cloud Stream微服務(wù)消息框架原理及實(shí)例解析
這篇文章主要介紹了Spring Cloud Stream微服務(wù)消息框架原理及實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Java的Hibernate框架數(shù)據(jù)庫(kù)操作中鎖的使用和查詢類型
這篇文章主要介紹了Java的Hibernate框架數(shù)據(jù)庫(kù)操作中鎖的使用和查詢類型,Hibernate是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2016-01-01
Java動(dòng)態(tài)代理的應(yīng)用詳解
本篇文章介紹了,Java動(dòng)態(tài)代理的應(yīng)用詳解,需要的朋友參考下2013-05-05
IDEA的Project無(wú)法正常顯示的問(wèn)題解決
本文主要介紹了IDEA的Project無(wú)法正常顯示的問(wèn)題解決,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02
Spring security 如何開放 Swagger 訪問(wèn)權(quán)限
這篇文章主要介紹了Spring security 如何開放 Swagger 訪問(wèn)權(quán)限操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
Springboot 2.x集成kafka 2.2.0的示例代碼
kafka近幾年更新非???,也可以看出kafka在企業(yè)中是用的頻率越來(lái)越高。本文主要為大家介紹了Springboot 2.x集成kafka 2.2.0的示例代碼,需要的可以參考一下2022-04-04

