簡體   English   中英

Java安裝不正確嗎? 線程“ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM