簡體   English   中英

Java編譯器錯誤。 找不到標志

[英]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.

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