第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

java.lang.NoClassDefFoundError怎么解決

java.lang.NoClassDefFoundError怎么解決

森林海 2019-03-21 10:15:43
如圖所示代碼截圖,我再調(diào)試項(xiàng)目的時(shí)候,在這行:SSRFChecker ssrfChecker = SSRFChecker.instance;跑出了異常,異常信息為:java.lang.NoClassDefFoundError: com/alibaba/fasttext/sec/url/SSRFChecker可是我的項(xiàng)目中,明明有import com.alibaba.fasttext.sec.url.SSRFChecker;并且你看我的jar包中也有這個(gè)類的啊,編譯的時(shí)候也是通過的,我已經(jīng)clean rebuild了若干次,并且重啟了服務(wù)若干次,關(guān)機(jī)重啟了若干次,還是出現(xiàn)這個(gè)問題。非常困惑,為什么編譯的時(shí)候沒有問題,調(diào)試的時(shí)候,到這行就會(huì)拋這個(gè)異常信息呢?求大神解答。。謝謝~~說明,我的jar包是maven倉庫導(dǎo)入的:        <dependency>              <groupId>com.alibaba.platform.shared</groupId>              <artifactId>fasttext-sec</artifactId>              <version>1.3.99</version>        </dependency>        回答樓下的,我編譯后的jar包里是有的。
查看完整描述

8 回答

?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊

The searched-for class definition existed when the currently executing class was compiled, but the definition can no longer be found.

正如javadoc中解釋的那樣,NoClassDefFoundError出現(xiàn)的原因是問題類在編譯時(shí)是存在的,但在之后(如運(yùn)行時(shí))找不到。結(jié)合你的實(shí)際,我認(rèn)為可能會(huì)有兩種情況導(dǎo)致了改錯(cuò)誤:

  • 就像樓上有人說的那樣,如果是web工程,調(diào)試時(shí)本地發(fā)布時(shí)jar包缺失,檢查本地發(fā)布路徑下的jar包是否有缺失。

  • 引入的jar包自身有問題,如果jar包(com.alibaba.platform.shared:fasttext-sec:1.3.99)本身含有錯(cuò)誤,編譯時(shí)雖能定位到class,但在運(yùn)行時(shí)該class由于包含錯(cuò)誤沒能被JVM或Classloader加載(錯(cuò)誤通常發(fā)生在靜態(tài)塊或靜態(tài)成員上),也會(huì)導(dǎo)致該錯(cuò)誤。舉個(gè)例子:

    // Demo.javapublic class Demo {
       static int num = 1 / 0;
       ...
    }

    如果jar包中包含Demo類,在外部調(diào)用Demo時(shí),編譯時(shí)不會(huì)有錯(cuò)誤提示,但運(yùn)行時(shí)會(huì)出現(xiàn)NoClassDefFoundError錯(cuò)誤。


查看完整回答
反對(duì) 回復(fù) 2019-04-19
?
富國滬深

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個(gè)贊

到tomcat下把包刪了,work目錄下的也刪了,工程重新部署到tomcat試試


查看完整回答
反對(duì) 回復(fù) 2019-04-19
?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊

看看你的包是不是引錯(cuò)了。重新引一下你的這個(gè)包。


查看完整回答
反對(duì) 回復(fù) 2019-04-19
?
慕田峪4524236

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊

是不是包有了沖突?包沖突也會(huì)有這種情況發(fā)生


查看完整回答
反對(duì) 回復(fù) 2019-04-19
?
眼眸繁星

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊

樓主的問題有點(diǎn)詭異。讓我猜測一下,由于樓主用的是maven,因此eclipse里面的項(xiàng)目應(yīng)該分成多個(gè)模塊了,而樓主在eclipse啟動(dòng)這個(gè)程序,應(yīng)該是運(yùn)行某個(gè)模塊里面的一個(gè)含有main方法的類,而這個(gè)模塊里面應(yīng)該也有一個(gè)pom.xml。

在eclipse調(diào)試程序的時(shí)候,記得在pom.xml里面引入一些dependency。并且這些dependency的scope應(yīng)該是runtime


        <dependency>

            <groupId>${project.parent.groupId}</groupId>

            <artifactId>aaa-xxx</artifactId>

            <version>${project.parent.version}</version>

            <scope>runtime</scope>

        </dependency>

以上純屬猜測。


查看完整回答
反對(duì) 回復(fù) 2019-04-19
?
狐的傳說

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊

你這應(yīng)該是單利吧。單利這樣寫就是錯(cuò)誤的,你直接就可以用,為什么又要用另外一個(gè)引用來使用你的單利。單利不允許在外邊創(chuàng)建對(duì)象的


查看完整回答
反對(duì) 回復(fù) 2019-04-19
?
夢(mèng)里花落0921

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊

應(yīng)該很有可能是類加載的問題。雖然運(yùn)行時(shí)有這個(gè)加載這個(gè)類,但是可能是由別的什么classloader加載的。

你加上 Thread.currentThread().getContextClassLoader(), 斷點(diǎn)看下classes中都有哪些類,還有parent中的classes等,如果找不到SSRFChecker,你就要檢查下代碼上下文了,是不是有對(duì)classloader的設(shè)置

java類加載簡單來說是先從parent中搜索,如果找不到再從當(dāng)前classloader搜索,如果再找不到則拋出classnotfoundexception。搜"java 類加載機(jī)制" 了解更多

P.S. 這中問題在OSGI環(huán)境簡直不要太常見


查看完整回答
反對(duì) 回復(fù) 2019-04-19
  • 8 回答
  • 0 關(guān)注
  • 4192 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)