Pergunta

Por que estou recebendo este erro quando a classe SystemController está no mesmo diretório?

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

}
Foi útil?

Solução

O meu palpite é que você não compilou SystemController em que Main depende. Assim, ou compilar SystemController manualmente antes de Main compilação (mas isso vai ser doloroso no longo prazo, se o número de classes cresce) ou compilar tudo juntos e deixar o compilador calcula a ordem de compilação (melhor IMO). Algo parecido com isto:

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

EDIT: Desde o erro que você postou como comentário, eu posso ver que você está usando GNU GCJ não suporta totalmente balanço . Por favor, mude para Sun JDK ou OpenJDK. Ambos devem estar disponíveis como pacote, apenas certifique-se de torná-lo o padrão Java após a instalação (ver https: // help.ubuntu.com/community/Java para Ubuntu ou uma distro baseada no Debian, descobrir como fazer isso para uma outra distro).

Outras dicas

Você compilou SystemController?

try

javac *.java

Além disso, lembre-se de especificar o seu classpath onde as classes Swing são.

javac -cp classpath *.java
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top