2015-04-17 82 views
-1

在一個項目上工作時,我試圖在終端中編譯我的java文件,但出現錯誤「無法找到符號」。我通常在Eclipse的IDE中編譯和運行我的代碼,所以這是我第一次使用Terminal。當我嘗試創建寫在同一文件夾中的類的實例時,似乎出現錯誤。在編譯終端中的java文件時出現「找不到符號」錯誤

MainPanel.java:30: error: cannot find symbol 
    static Player p1 = new Player(30, 245, 0); 
     ^
    symbol: class Player 
    location: class MainPanel 

我該如何解決這個問題?謝謝!

+0

您編譯不正確。顯示完整的'javac'和所有相關文件的位置。確保你從源文件的根目錄調用它 – Kon

+0

你使用的是什麼類路徑? –

+0

@Kon'Trevors-MacBook-Pro:main TrevorAquino $ javac MainPanel.java'這是我試圖編譯程序的方式,我的Player類也放在主文件夾內。 @MichalKordas我怎麼能告訴終端我使用的是什麼類路徑? –

回答

1

當您的Java項目超過3個文件並使用外部庫時,最好讓IDE或甚至像Maven(https://maven.apache.org/)這樣的構建工具爲您處理編譯。我建議你切換到那些現在,而不是手動編譯。

但現在,嘗試編譯像這樣

javac Player.java MainPanel.java

Player第一則MainPanel類或當你有視對方多個類,這應該也行

javac *.java

如果你對這個問題感到好奇,那就是你的MainPanel類使用了Player類,因此Java編譯器需要有編譯並在編譯MainPanel之前先了解Player類。但是你可能還沒有編譯Player類,所以編譯器拋出這個錯誤。