javac ok , java not so ok - Java - Portugal-a-Programar
javac ok , java not so ok
Por javanoob, 17 de Janeiro de 2008 em Java
Compilou bem com o javac mas ao executar com o java da-me um "Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld"
O nome de ficheiro tem de ser HelloWorld.java se não isso não funciona.
Aqui executa às mil maravilhas... não colocaste no código mas tens a classe dentro de algum package? É que precisas usar o nome completo da classe.
A ideia era ver se o Java estava a funcionar bem, portanto só fiz mesmo esse código... e compilei com $javac HelloWorld.java executando depois com $java HelloWorld.
La vou eu desinstalar o Java todo...
O teu problema deve ser a CLASSPATH.
Coloca o directório onde está o ficheiro .class na CLASSPATH.
Em Unix, podes fazer
Remover o Java? Hum... isso parece-me uma solução demasiado radical.
Se estiveres a executar a classe na pasta onde ela está e não tens nenhum package, então não precisas configurar caminho nenhum. Mas sem ver a estrutura do que tens e que comandos estás a executar é complicado arranjar uma solução.
Mesmo depois de uma nova instalação do último jdk da sun continuo a zeros...
O problema não deve ser só(?) do CLASSPATH porque se for para o directorio onde tenho os respectivos binários ( javac, java, etc) acontece-me o mesmo, o javac compila sem problemas mas o java dá aquele erro manhoso... o código é aquele mesmo, mais simples não consigo fazer.
Esta é a parte mais chata de se programar em Windows...
Eu programa em windows e não tenho esses problemas... posso ter um screenshot da tua consola a tentares executar o comando, ou a estrutura de pastas onde tens as classes e como estás a executar o comando? Posso não resolver o problema mas é sempre mais informação que pode ajudar.
Parece que aos poucos vai lá, agora, copiando os ficheiros source para o directorio de instalação do java, já compila e executa bem.
Mas fora desse directorio só consigo correr o java... para o javac funcionar é só por no classpath algo do tipo:
"C:\Program Files\Java\jdk1.6.0_04\bin"
Ou é preciso mais alguma coisa?
Sim será só isso, podes ter de reiniciar o windows mas é só adicionar essa opção.
Mas pelos erros que estás a dizer parece-me que o problema era a forma como estavas a executar o comando.
Em relação ao windows, por vezes apesar de colocares bem o caminho na variável de ambiente a alteração não fica logo visível, isso acontecia-me bastante quando configurava o msys e mingw.
Quanto ao comando, pelo que descreveste parece que estavas a indicar mal os caminhos, mas posso estar enganado.
Pois, é o que está a acontecer-me agora...
Só consigo trabalhar no directorio bin da instalação do Java, a variável CLASSPATH parece que não está a actualizar, mesmo depois de eu já ter andado por lá a fazer reciclagem :S