Programa simples não roda

10 respostas
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

10 Respostas

elomarns

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.

gustavo_java

Sim, estou no mesmo diretório.

elomarns

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.

jaum

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:

<blockquote> ----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.

PS: Estou usando jGrasp e o SO eh Linux, Kubuntu 6.10.

H

Isso me parece problema de CLASS PATH, para resolver este problema, crie um CLASS PATH apontando para a sua JDK.

Passos para reconhecer os comandos do JAVA no Dos

1° Primeiro crie uma variavel de ambiente como JAVA_HOME com o caminho da instalação do JDK.

Exemplo:

Nome da Variavel : JAVA_HOME
Valor da variavel : C:\Arquivos de programas\Java\jdk1.5.0_06

2° Digite o seguinte comando no Dos

SET PATH=%PATH%;C:\Arquivos de programas\Java\jdk1.5.0_06

3° Teste para ver se o windows reconhece o comando do dos.

Quando você digitar o comando java , sozinho deve aparecer um monte opções para executar este comando.

Vitor Hugo Brito de Oliveira
e-mail: [email removido]
msn: [email removido]

Qualquer dúvida poste novamente.

jaum

Intaum…! Eu tinha visto q tem q fazer isso msm…

Mas eu to usando Linux…
Sabe como fazer isso no Linux…?

Brigadaum pela ajuda e paciência…
^^’

H

Agora vou te dar a dica mais importante , para você no www.google.com.br, existe varias dicas prontas de java e so digitar e buscar.

http://www.google.com.br/search?hl=pt-BR&q=class+path+java+linux&btnG=Pesquisa+Google&meta=

O que você está precisando fazer está na primeira consulta retornada.

Qualquer coisa e só postar.

jaum

Vo procurar lah…!

Valeu…!
(:

jaum

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…
:smiley:

E

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

só uma dúvida…vc declarou como class oi{…}?

tente declarar como uma clase publica

public class oi…

flws

Criado 3 de março de 2007
Ultima resposta 8 de mar. de 2007
Respostas 10
Participantes 5