Quando eu compilo um programa com apenas uma classe simples, o javac compila certinho.
Mas o problema é quando eu tenho dois arquivos .java um com a main e usando a classe do outro arquivo.java, ele diz que a classe a qual eu estou tentando usar do outro arquivo não existe ou coisa assim, já fiz um monte de coisas pra tentar resolver mas não consegui, pior que eu não estou conseguindo estudat java por conta disso.
Um exemplo:
class NovaClasse
{
NovaClasse()
{
System.out.println("Chamou o construtor!");
}
}
class ExeNovaClasse
{
public static void main(String args[])
{
NovaClasse end;
end = new NovaClasse();
}
}
O ExeNovaClasse.java não compila de jeito nenhum, olhem o erro:
As duas classes estao no mesmo pacote? se nao estiverem no mesmo pacote, entao vc nao poderá enxergar a classe NovaClasse, pois ela não é public. Além disso, vc deve informar no classpath onde está a classe NovaClasse.
Eis o que vc pode tentar fazer para compilar:
//trocar a declaração
class NovaClasse { ... }
//por
public class NovaClasse { ... }
informar o classpath ao tentar compilar a classe ExeNovaClasse:
[quote=RafaelVS]As duas classes estao no mesmo pacote? se nao estiverem no mesmo pacote, entao vc nao poderá enxergar a classe NovaClasse, pois ela não é public. Além disso, vc deve informar no classpath onde está a classe NovaClasse.
Eis o que vc pode tentar fazer para compilar:
//trocar a declaração
class NovaClasse { ... }
//por
public class NovaClasse { ... }
informar o classpath ao tentar compilar a classe ExeNovaClasse:
[quote=maul][quote=RafaelVS]As duas classes estao no mesmo pacote? se nao estiverem no mesmo pacote, entao vc nao poderá enxergar a classe NovaClasse, pois ela não é public. Além disso, vc deve informar no classpath onde está a classe NovaClasse.
Eis o que vc pode tentar fazer para compilar:
//trocar a declaração
class NovaClasse { ... }
//por
public class NovaClasse { ... }
informar o classpath ao tentar compilar a classe ExeNovaClasse:
[quote=bernardo.rafael]Informe o classpath durante a complilação…
entre no mesmo diretório onde está gravada a sua classe e digite o seguinte comando:
javac -classpath . *.java
Com isso, você vai compilar todos os seus arquivos fontes de uma vez só.
[/quote]
Fazendo isso vc vai ter q usar a opção -classpath quase sempre que for compilar ou executar algo.
Se vc atualizar o seu CLASSPATH, vai fazer uma só vez que vai ser valida para todas as outras.