欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java -jar命令運行 jar包時運行外部依賴jar包的場景分析

 更新時間:2025年06月05日 11:23:18   作者:碼農(nóng)界趙子龍  
這篇文章主要介紹了java -jar命令運行 jar包時運行外部依賴jar包的場景分析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

java -jar命令運行 jar包時如何運行外部依賴jar包

場景:

打包發(fā)不完,運行時。發(fā)現(xiàn)一個問題,

java java.lang.NoClassDefFoundError: org/apache/commons/lang3/ArrayUtils

顯示此,基本表明,沒有這個依賴,如果在開發(fā)中,在maven的pom.xml 中引入即可;

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version> <!-- 使用最新版本或適合你項目的版本 -->
</dependency>

但是;此時只有jar包,無法修改代碼。如何解決呢?

解決:

直接在java -jar test.jar 時,添加參數(shù)。

方法一、啟動參數(shù)添加: -Xbootclasspath/a

java -Xbootclasspath/a:custom-rt.jar -jar test.jar

方法二、使用Extension Classloader來加載

要讓Extension Classloader加載你的類,需要:

將你的JAR文件放入:

  • <JAVA_HOME>/jre/lib/ext目錄(JDK 8及之前)
  • 或由java.ext.dirs系統(tǒng)屬性指定的目錄

或者運行時指定擴(kuò)展目錄:

java -Djava.ext.dirs=/path/to/your/extensions -jar test.jar

此時此景,只能采用2;值的注意的注意??的是;

使用java.ext.dirs,需要同時添加 <JAVA_HOME>/jre/lib/ext 和你自己的目錄,不然只能使用你自己的目錄。

實際語句:

java -Djava.ext.dirs=$JAVA_HOME/jre/lib/ext:/tmp/lib/  -jar test.jar

補充:Java運行jar包指定外部依賴的jar

Java運行jar包指定外部依賴的jar

程序在啟動時經(jīng)常會遇到指定外部依賴jar包的情況。

1. Bootstrap Classloader方式:

//在系統(tǒng)class加載后加載
java -Xbootclasspath/a: yilai1.jar:yilai2.jar: -jar test.jar

注意:依賴的jar包間用冒號分割

缺點:依賴的jar包要一個一個指定

2. Extension Classloader方式:

java -Djava.ext.dirs=$JAVA_HOME/jre/lib/ext:/usr/local/libs -jar test.jar

注意:使用前確保已經(jīng)配置好jdk環(huán)境變量

說明:$JAVA_HOME/jre/lib/ext 的寫法時固定的,后面冒號跟上自己存放要依賴的jar包的路徑

優(yōu)點:可以依賴指定路徑下的多個jar包

到此這篇關(guān)于java -jar命令運行 jar包時如何運行外部依賴jar包的文章就介紹到這了,更多相關(guān)java -jar命令運行 jar包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java郵件發(fā)送簡單實現(xiàn)代碼

    java郵件發(fā)送簡單實現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了java郵件發(fā)送簡單實現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 詳解SpringBoot如何自定義自己的Starter組件

    詳解SpringBoot如何自定義自己的Starter組件

    這篇文章主要為大家詳細(xì)介紹了在SpringBoot中如何自定義自己的Starter組件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • java中如何對arrayList按數(shù)字大小逆序排序

    java中如何對arrayList按數(shù)字大小逆序排序

    這篇文章主要介紹了java中如何對arrayList按數(shù)字大小逆序排序問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • SpringBoot+ruoyi框架文件上傳和下載的實現(xiàn)

    SpringBoot+ruoyi框架文件上傳和下載的實現(xiàn)

    文件的上傳和下載功能,是項目開發(fā)過程中比較常見的業(yè)務(wù)需求,本文主要介紹了SpringBoot+ruoyi框架文件上傳和文件下載的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • Spring Bean的定義及三種創(chuàng)建方式

    Spring Bean的定義及三種創(chuàng)建方式

    本文主要介紹了Spring容器獲取Bean的9種方式小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • IDEA如何修改項目名稱出現(xiàn)中括號

    IDEA如何修改項目名稱出現(xiàn)中括號

    當(dāng)項目文件夾名稱與model名稱不一致時,IDEA會在項目名旁顯示中括號以區(qū)分,修改項目名稱時出現(xiàn)中括號問題,通常是因為IDE中model名與文件夾名不同步,解決方法是統(tǒng)一model名稱和文件夾名稱,可通過重構(gòu)功能或項目結(jié)構(gòu)設(shè)置完成,重命名操作應(yīng)謹(jǐn)慎,以避免路徑等引用錯誤
    2024-10-10
  • java中刪除數(shù)組中重復(fù)元素方法探討

    java中刪除數(shù)組中重復(fù)元素方法探討

    這個是一個老問題,但是發(fā)現(xiàn)大多數(shù)人說的還不夠透。小弟就在這里拋磚引玉了,歡迎拍磚
    2013-10-10
  • SpringSecurity實現(xiàn)自定義用戶認(rèn)證方案

    SpringSecurity實現(xiàn)自定義用戶認(rèn)證方案

    Spring?Security?實現(xiàn)自定義用戶認(rèn)證方案可以根據(jù)具體需求和業(yè)務(wù)場景進(jìn)行設(shè)計和實施,滿足不同的安全需求和業(yè)務(wù)需求,這種靈活性使得認(rèn)證機制能夠更好地適應(yīng)各種復(fù)雜的環(huán)境和變化?,本文給大家介紹了SpringSecurity實現(xiàn)自定義用戶認(rèn)證方案,需要的朋友可以參考下
    2025-01-01
  • 如何使用Guava Cache做緩存

    如何使用Guava Cache做緩存

    Cache在ConcurrentHashMap的基礎(chǔ)上提供了自動加載數(shù)據(jù)、清除數(shù)據(jù)、get-if-absend-compute的功能,本文給大家介紹如何使用Guava Cache做緩存,感興趣的朋友一起看看吧
    2023-11-11
  • Java深入分析了解平衡二叉樹

    Java深入分析了解平衡二叉樹

    平衡二叉樹又被稱為AVL樹(有別于AVL算法),且具有以下性質(zhì):它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,并且左右兩個子樹都是一棵平衡二叉樹。本文將詳解介紹一下平衡二叉樹的原理與實現(xiàn),需要的可以參考一下
    2022-06-06

最新評論