[英]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 中有幾個具有主要方法的類,並且您嘗試運行最新的應用程序,它有時會運行舊代碼。
所有公共方法都有正確的簽名,它與缺少參數無關。
有兩種解決方案:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.