Problema na hora da compilação e execução de aplicativos

5 respostas
L

Olá,

Instalei o JDK5 , no linux (Debian), conforme tutoriais do site. Testei digitando
javac -version, tudo OK.
Mas estou com um problema , toda vez que vou executar uma aplicação, compila normalmente, dai digito : javac MeuPrograma.java ---- OK
dai digito : java MeuPrograma-----------Ocorre o seguinte erro:

Exception in thread main java.lang.NoClassDefFoundError: MeuPrograma

at gnu.java.lang.MainThread.run(libgcj.so.70)

Caused by: java.lang.ClassNotFoundException: MeuPrograma not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/opt/java/jdk1.5.0_12/lib/], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}

at java.net.URLClassLoader.findClass(libgcj.so.70)

at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.70)

at java.lang.ClassLoader.loadClass(libgcj.so.70)

at java.lang.ClassLoader.loadClass(libgcj.so.70)

at gnu.java.lang.MainThread.run(libgcj.so.70)

Se alguém puder me ajudar ficarei grato .

Leandro

5 Respostas

analyser

Tem um tutorial sobre classepath aqui no guj que vai talvez ajuda-lo com o erro

Abraço

Jeferson_Flamini

Leandro, verifique se o diretório da sua classe está no classpath. Ou tente executar assim:

java -cp . MeuPrograma
T

Seu Debian está configurado para usar o Java “gcj”, não o da Sun. Então ele pode dar uns erros esquisitos (é por isso que aparece “gcj”).

Você pode remover esse Java que já vem com o Debian pelo gerenciador de pacotes e deixar só o da Sun.

Altere o seu PATH para apontar primeiro para o diretório que contém o Java da Sun.

L

Valeu pela ajuda todos!

Jeferson , é o seguinte , fiz o que vc me ensinou e funcionou : java -cp . MeuPrograma
Mas como faço para eu apenas digitar " java MeuPrograma"? Porque está acontecendo isso ?

Configurei minha path e class path dessa maneira :

#ADICIONE AO FINAL DO PROFILE
JAVA_HOME=/opt/java/jdk1.5.0_12
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
CLASSPATH=$JAVA_HOME/lib
export CLASSPATH
MANPATH=$MANPATH:$JAVA_HOME/man
export MANPATH

Jeferson_Flamini

Adicione no classpath o diretório atual (.)

CLASSPATH=.:$JAVA_HOME/lib export CLASSPATH

Criado 27 de junho de 2007
Ultima resposta 28 de jun. de 2007
Respostas 5
Participantes 4