Programa simples não roda

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.

Sim, estou no mesmo diretório.

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.

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: hugov_br@yahoo.com.br
msn: hugov1983@hotmail.com

Qualquer dúvida poste novamente.

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…
^^’

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.

Vo procurar lah…!

Valeu…!
(:

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:

[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]

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

tente declarar como uma clase publica

public class oi…

flws