Frage

Warum erhalte ich diesen Fehler, wenn die Systemcontroller-Klasse im selben Verzeichnis?

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

}
War es hilfreich?

Lösung

Meine Vermutung ist, dass Sie nicht SystemController kompilieren haben, auf dem Main abhängt. Also entweder manuell kompilieren SystemController vor Main zu kompilieren (aber das wird auf lange Sicht schmerzhaft sein, wenn die Anzahl der Klassen wächst) oder alles kompilieren zusammen und lassen Sie den Compiler berechnet die Kompilation Ordnung (besser IMO). So etwas wie folgt aus:

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

EDIT: Aus dem Fehler, den Sie als Kommentar gepostet, kann ich sehen, dass Sie verwenden GNU GCJ die nicht vollständig nicht-Schwingen unterstützen. Bitte wechseln Sie in Sun JDK oder OpenJDK. Beide sollten als Paket verfügbar sein, nur um sicher machen, um es den Standard macht Java nach der Installation (siehe https: // help.ubuntu.com/community/Java für Ubuntu oder Debian-basierte Distribution, herauszufinden, wie diese) für eine andere Distribution zu tun.

Andere Tipps

Haben Sie zusammengestellt Systemcontroller?

Versuch

javac *.java

Beachten Sie auch, Ihre Classpath angeben, wo die Swing-Klassen sind.

javac -cp classpath *.java
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top