Olá pessoal,
gostaria de saber porque depois de compilar (compila sem erro) e chamar o programa (java oi) aparece a mensagem abaixo. Não estou conseguindo achar o erro, alguém poderia me ajudar?
Muito obrigado.
:?:
import javax.swing.JOptionPane;
class oi
{
public static void main (String args[] )
{
JOptionPane.showMessageDialog(null, “Oi programador Java!”);
System.exit(0);
}
}
Exception in thread “main” java.lang.NoClassDefFoundError: oi
Quando você chama o comando java oi pela janela de comando você está no mesmo diretório do arquivo oi.class? Caso a resposta seja “não”, é este o problema.
Aparentemente, o que está acontecendo é que o Java não está conseguindo achar o arquivo oi.class. Um dos motivos para isto acontecer, como eu disse acima, é você usar o comando java oi fora do diretório onde está o arquivo oi.class. Mas como você está no mesmo diretório do arquivo em questão, pode ser que você tenha errado ao digitar o nome da classe. Por exemplo, se o seu arquivo-fonte é exatamente o que você postou acima, a sua classe se chama oi, então você tem que usar exatamente o comando java oi, respeitando as letras maiúsculas e minúsculas.
Eu estou com um problema parecido também…
Comecei com o Java a pouco tempo… E to tentando há dias instalar uma biblioteca…
Eu consigo compilar e rodar um programa q naum use essa biblioteca…
Agora o programa q usa, eu consigo compilar sem erro (Jah tinha testado em outro PC tb e compilou e rodou) mas ele naum executa o programa qdo eu mando…!
Aparece essa msg:
[quote] ----jGRASP exec: java Banco
Exception in thread “main” java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at Banco.main(Banco.java:9)
----jGRASP wedge: exit code for process is 1.
----jGRASP: operation complete.
[/quote]
PS: Estou usando jGrasp e o SO eh Linux, Kubuntu 6.10.
Vim aqui para agradecer… O prpblema, era que eu compilava com o GCJ 4.1… Eh um javac do Linux (eu acho), mas na hora de executar ele usava o JDK… Aí o arquivo.class era de versão diferente, e dava o erro…
Bom… Eu acho q era isso… Coloquei aqui caso alguém tenha o mesmo problema que eu…
E o fórum está de parabéns… Todo mundo aqui ajuda rápido e com educação… Quando eu estiver melhorzinho em Java vou ajudar tb…
[quote=gustavo_java]Olá pessoal,
gostaria de saber porque depois de compilar (compila sem erro) e chamar o programa (java oi) aparece a mensagem abaixo. Não estou conseguindo achar o erro, alguém poderia me ajudar?
Muito obrigado.
:?:
import javax.swing.JOptionPane;
class oi
{
public static void main (String args[] )
{
JOptionPane.showMessageDialog(null, “Oi programador Java!”);
System.exit(0);
}
}
Exception in thread “main” java.lang.NoClassDefFoundError: oi
[/quote]