[英]Java compiler error. Cannot find symbol
當SystemController類位於同一目錄中時,為什么會出現此錯誤?
sgs$ javac Main.java
Main.java:27: cannot find symbol
symbol : class SystemController
location: class sgs.Main
SystemController sc = new SystemController();
^
Main.java:27: cannot find symbol
symbol : class SystemController
location: class sgs.Main
SystemController sc = new SystemController();
^
2 errors
package sgs;
import javax.swing.JFrame;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
boolean loginSuccess = false;
//Login login = new Login();
//login.setVisible(true);
//login.loadAccounts("files/accounts.txt");
SystemController sc = new SystemController();
sc.setVisible(true);
sc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
我的猜測是您沒有編譯Main
依賴的SystemController
。 因此,要么在編譯Main
之前手動編譯SystemController
(但是如果類數量增加,從長遠來看,這將很痛苦),或者將所有內容一起編譯,然后讓編譯器計算編譯順序(更好的IMO)。 像這樣:
$ pwd /path/to/sgs $ cd .. $ javac sgs/*.java $ java -cp . sgs.Main
編輯:從您發布為注釋的錯誤中,我可以看到您正在使用不完全支持Swing的 GNU GCJ 。 請切換到Sun JDK或OpenJDK。 兩者都應作為軟件包提供,只需確保在安裝后使其成為默認Java(請參見https://help.ubuntu.com/community/Java(適用於Ubuntu或基於Debian的發行版),了解如何針對另一個發行版進行此操作)。
您編譯了SystemController嗎?
嘗試
javac *.java
另外,請記住指定Swing類所在的類路徑。
javac -cp classpath *.java
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.