Exception in thread "main" java.lang.NoClassDefFoundError: Hello

8 respostas
rdof_81
Presados Srs, estou iniciando a programação em Java (Java SE - JDK 6) a principio manipulo os dados através do meu notepad e executo pelo velho e querido DOS (isto utilizando o WinXP SP2), e indiquei o caminho através das variáveis de ambientes, no meu caso é:

"D:\Arquivos de programas\java\jdk1.6.0_07\bin "

E os código são:

class Hello{

public static void main(String[] args) {

String h = Hello, Word!;

System.out.println(h);

}

}
E depois que eu compilo:

c:\java>javac Hello.java

c:\java>java Hello

Exception in thread main java.lang.NoClassDefFoundError: Hello

Caused by: java.lang.ClassNotFoundException: Hello

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClassInternal(Unknown Source)

APARECE esta mensagem de erro acima pq?

Se alguém poder me ajudar agradeço desde já

Abrçs a tds

8 Respostas

D

foi erro de digitação ou vc digitou javc mesmo?

rdof_81

Obrigado pela Atenção Sr. DanielSR,

digitei certo javac Hello.java

Inclusive até foi compilado, e gerou um arquivo chamado

Hello.class

Abdon

Ola

Faça um set classpath=. no diretorio e rode que vai funcionar.

Vc vai fazer assim:

set classpath=. 
java SeuArquivo
T

Em vez de usar

java Hello

use

java -cp . Hello

e deve funcionar.

rdof_81

Este funcionou, Valeu Thingol…
Mt obrigado Msm,

Mais qual a função do java -cp . Hello?

Abrçs

rdof_81

Valeu Ovelha, tb funcionou…
Mt obrigado mais qual a função do set classpath=.?

Abrçs

D

Em ambos os casos vc está configurando o seu classpath (lugar onde encontrar suas classes)
No caso que o Ovelha citou, voce não precisaria digitar o comando -cp sugerido pelo thingol todas as vezes que rodar o comando java…
No exemplo do thingol, o -cp é a abreviação do comando -classpath que também serve para especificar onde se encontram suas classes, porém apenas para aquela chamada de comando que voce estiver fazendo…
No caso do thingol, toda vez vc teria q especificar o -cp… no caso do ovelha vc deixaria “pré-configurado”

rdof_81

VALEU DANIELSR

MT BRIGADO

Entendi td perfeitamente

Criado 26 de setembro de 2008
Ultima resposta 26 de set. de 2008
Respostas 8
Participantes 4