![](/img/trans.png)
[英]“Exception in thread ”main“ java.lang.NoSuchMethodError ”
[英]Is Java not installed correctly? Exception in thread “main” java.lang.NoSuchMethodError
最近,當我編寫任何代碼並進行編譯,然后嘗試運行它時,出現此異常:
線程“主”中的異常java.lang.NoSuchMethodError
起初我以為我的代碼有問題,但是我找不到任何錯誤。 嘗試運行以前曾運行過的HelloWorld
示例時,如果可以運行,但是如果我將完全相同的代碼復制到文件HelloWorld2
,則會再次出現此異常。
代碼是相同的,但是當我使用javap
反編譯兩個類文件時,我發現有所不同。 在HelloWorld
(原始文件)
"public static void main(java.lang.String[])";
在HelloWorld2
(新的)
"public static void main(String[])";
沒有java.lang.
。
我用javac
重新編譯了舊的HelloWorld
,現在嘗試運行它時,它不起作用,並且出現了相同的異常。 現在,如果我重新編譯它,所有舊代碼都無法正常工作。
我到處搜索,但找不到解決該問題的方法-知道這里發生了什么嗎?
如果您在類路徑中有自己的名為String
的類(不帶包裝),則可能會得到此信息。 聽起來就是那樣。 這是嘗試重現此方法的一種方法-編譯並運行它,看看它看起來是否相同:
class String {}
public class Test {
public static void main(String[] args) {
}
}
一旦將文件系統中的String.class
編譯文件放在一個笨拙的位置,即使您僅編譯上面的Test
類,也將默認使用該文件。
基本上,看看是否可以在某個地方找到一個名為String.class
的文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.