문제

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);
    }

}
도움이 되었습니까?

해결책

내 생각에 당신이 컴파일하지 않았다는 것입니다 SystemController 어느쪽에 Main 의존합니다. 따라서 수동으로 컴파일하십시오 SystemController 컴파일하기 전에 Main (그러나 클래스 수가 증가하면 장기적으로 고통 스러울 것입니다) 또는 모든 것을 함께 컴파일하고 컴파일러가 컴파일 순서 (더 나은 IMO)를 계산하도록합니다. 이 같은:

$ pwd
/path/to/sgs
$ cd ..
$ javac sgs/*.java
$ java -cp . sgs.Main

편집 : 주석으로 게시 한 오류에서 사용중인 것을 알 수 있습니다. GNU GCJ 어느 스윙을 완전히 지원하지 않습니다. Sun JDK 또는 OpenJDK로 전환하십시오. 둘 다 패키지로 사용할 수 있어야합니다. 설치 후 기본 Java로 만드십시오 ( https://help.ubuntu.com/community/java 우분투 또는 데비안 기반 배포판의 경우 다른 배포판을 위해이 작업을 수행하는 방법을 찾으십시오).

다른 팁

SystemController를 컴파일 했습니까?

노력하다

javac *.java

또한 스윙 클래스가있는 곳에 클래스 경로를 지정해야합니다.

javac -cp classpath *.java
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top