我在eclipse中復制了一個專案,這樣我就可以做一些戲劇性的改變而不影響作業代碼。 現在,當我試圖在新專案中執行同樣的代碼時,我得到了一個NoCLassDefFoundError,因為它是以新的類名指向舊專案的(只是增加了一個a)。 java.lang.NoClassDefFoundError: cosc2425lab5fa21a/ArrayExamples 在 cosc2425lab5fa21/cosc2425lab5fa21testa.Lab5Test.main(Lab5Test.java:25)
。我無法發現如何修復路徑,所以現在應該是這樣的。 cosc2425lab5fa21a/cosc2425lab5fa21testa.Lab5Test.main
注意,我只是在專案名和包名以及類名中加了一個a。
uj5u.com熱心網友回復:
我剛剛重構并重新命名了這些類。 不知道是否有更好的方法,但它成功了。
CodePudding
如果你把專案保存在電腦里,它會改變很多名字,因為所有以前的專案名稱都已經在那里了,甚至已經在系統中編譯了.class檔案。而且.class檔案的名稱將被改變,這肯定會產生NoClassDef FoundError,因為在編譯程序中,類被編譯,.class檔案被保存,但在運行時,相同的類名只有你以前的專案的檔案,而這個復制的專案的編譯的.class檔案有一些不同的名稱,所以他們甚至不會被注意到,因為名稱與類名不相同。
改變專案中的所有類名仍然可以使其運行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/308361.html
標籤:
