簡體   English   中英

Eclipse 正在執行錯誤的 Java 文件

[英]Eclipse is executing the wrong Java file

我正在使用 Eclipse 編寫和測試 Java。 我是初學者,所以我對 Eclipse 一無所知。

當我嘗試運行我剛剛編寫的 Java 文件時出現問題。 它不執行打開的文件,而是執行我之前成功運行的文件。 我在同一個默認包中有幾個文件。 包資源管理器顯示我的包的位置是:Aayush > src > default package

我想運行一個名為logicaloperator.java的文件,但它運行的ifstatement.java都在同一個默認包中,我使用工具欄上的第 6 個按鈕來運行它。 當我將鼠標懸停在運行按鈕上時,它說:“運行 ifstatement”,但它應該說“運行邏輯運算符”。

1.請注意您在這個類文件中包含了main()方法。

2.如果問題仍然存在,請在包資源管理器中右鍵單擊此 java 文件並選擇Run

3.將包含 main() 方法的類名和在 Eclipse 中保存文件的文件名保持一致。

logicaloperators.java NOT logicaloperator.java ......你錯過了“s”

例如:

class logicaloperators{


      public static void main(String[] args){

   }
 }

將其保存為logicaloperators.java

如果要運行包含 main(String[] args) 方法的特定 java 文件。

右鍵單擊該文件 -> RunAs -> Java 應用程序。

檢查您的 main() 是否未大寫。

Eclipse 不會捕獲它,但如果您運行public static void Main(String[] args) ,它將運行錯誤的程序。

之前已經發布了答案,但我強烈建議盡可能干凈地工作。 剛才提到了類的 CamelCase,我個人不會將所有類放在一個包中。 為它使用更多的項目,或者使用不同的包。 如果你想用 Java 做大項目,這是最重要的事情之一(更不用說,你可以在一個項目的不同包中處理受保護的東西)。 也可以使用類的自動生成。 你可以用它來防止錯誤,就像你剛才做的那樣。 Eclipse 是一個強大的工具,使用它!

最好的祝福

我最近也遇到了這種問題,但終於找到了罪魁禍首。 因為正如我所見,沒有人討論過這件事,我會告訴你。

我已經檢查了類名、main() 方法之類的東西,但仍然出現警告並說“找不到主要方法”之類的東西。

我只是忽略了對於 main() 方法,在方括號內我忘記為字符串包含方括號,所以我的主要方法是... main(String args) ,您可以看到我錯過了那個方括號。

因此,之后我將其修復為... main (String[] args)並結束了我的問題。

不久前我在 Netbeans 中遇到了同樣的問題。 你的代碼很好。 您只需右鍵單擊文件窗口中的某個位置,然后選擇“運行文件”。 或者,如果您轉到任務欄中的“運行”選項卡,您可以“設置項目配置”、“自定義”......一旦項目屬性對話框打開,請檢查您在“主類字段”中的條目(它可能有那里有問題的類,替換它並輸入您要運行的類的名稱)。 但是,您應該只需右鍵單擊,這樣就不必每次在包中創建新類時都這樣做。

您可以在 Eclipse 中的“運行”按鈕附近看到一個小三角形。 如果你點擊它,你可以看到你所有的項目都在打開。 現在,如果您可以在此列表中看到logicaloperator.java ,則可以單擊它然后運行您的代碼,否則您應該檢查logicaloperator.java中的main()方法。

我有同樣的概率。 只需確保將主要課程和所有課程都公開...

我的解決方案:在運行之前保存文件。 如果您希望文件自動保存,您可以對其進行配置。 轉到菜單:Window->Preferences->General->Editors->Autosave,勾選'Enable autosave...',然后在文本框中輸入距離自動保存還有多少秒。 例如,如果你輸入 3,那么它會在你完成文件中的更改后 3 秒保存。

我也遇到了同樣的問題,我的代碼也適用於類文件和主要方法。我嘗試右鍵單擊我的項目->maven->更新項目。 選擇要更新的項目。 單擊強制更新快照/版本,然后按確定。 更新后我的代碼工作正常並且沒有打印我以前的輸出。

我有一個類似的問題,它正在執行上一節課。 幾個小時后,我發現問題主要出在自己身上。 我忘了在 main 中添加“String[] args”。

我遇到了同樣的錯誤,我只是發現我缺少關鍵字“ static

前:

public void main(String[] args) {
// ...
}

這對我有用:

public static void main(String[] args) {
// ...
}

根本原因是您正在使用此方法簽名:

public static void main()
{
    // ...
}

您需要將其更改為此,這有效:

public static void main(String[] args)
{
    // ...
}

我還在 Eclipse 上發現了這個錯誤。

簡單地說,如果您在 Eclipse 中有幾個具有主要方法的類,並且您嘗試運行最新的應用程序,它有時會運行舊代碼。

所有公共方法都有正確的簽名,它與缺少參數無關。

有兩種解決方案:

  1. 要么嘗試將具有主要方法的類放在不同的包中。
  2. 只需重新啟動 eclipse 並重新運行該應用程序(這對我來說總是有效)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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