Rodando o Java no Linux- Erro:Exception in thead "main"java.lang.NoClassDeFoundError:Classe

7 respostas
valentche

Senhores, instalei o Java 1.5.0_07 numa máquina rodando Linux, ocorre que quando tento compilar um arquivo “simples” (javac ) é criado o .class mas quando vou rodar a classe (java ) dá o erro: Exception in thread "main"java.lang.NoClassDeFoundError:.
Alguem pode me dar um help neste caso? Obrigado.

7 Respostas

E

tem que editar o arquivo /etc/profile. o arquivo “profile” é o arquivo que possui os caminhos para os aplicativos serem exeecutados, penso eu.

to enviando o meu arquivo /etc/profile, que com essa configuração roda os arquivos perfeitamente.

valentche

Valeu, vou verificar como está configurado meu profiles, visto que, já havia configurado o profile na instalação do Java… obrigado

C

Olá valentche,

Aparentemente, pela mensagem de erro, seu problema é simples de se resolver. Acredito que você esteja fazendo o seguinte:

$ javac helloWorld.java
Tudo ok, como você mesmo disse…

$ java helloWorld.class
Exception in thread “main” java.lang.NoClassDefFoundError: helloWorld/class

O problema é que você tem que rodar o bytecode sem a extensão “.class”, desse modo, o correto seria:

$ java helloWorld
Hello world… :smiley:

Espero ter ajudado…

[]'s

Clayton

valentche

caro Claytones,
Obrigado pela ajuda, porém não é isto que está acontecendo comigo, eu eu estou mandando rodar somente a classe sem o .class, desta forma:
“java HelloWorld” e ocorre o erro: “Exception in thread “main” java.lang.NoClassDefFoundError: helloWorld”, se vc tiver mais alguma idéia eu agradeço.
Eu tb já tentei alterar o /etc/profile como o amigo emanoeltadeu orientou, porém não tive sucesso.
Obrigado a todos e aguardo mais alguma dica.

drix

Indique o Class-Path na linha de comando, setando para buscar as classes no diretório local. Ex.:

fdettoni

Provavelmente o nome do arquivo está diferente da classe default.

Lembre-se que o case-sensitivity, então o arquivo tem de ter exatamente o mesmo nome da classe public.

[]'s

sojourney

certo galera, a ideia de colocar o . no CLASSPATH eh valida e funciona, mas toda vez q quiser mudar de arquivo tenho q usar essa sintaxe…como posso fazer para q fique configurado direto, altero o profile?

Como posso fazer isso?

Criado 17 de junho de 2006
Ultima resposta 6 de jan. de 2007
Respostas 7
Participantes 6