Estou com um Problema

30 respostas
E

Oi estou começando no java e estou acompanhando umas apostilas, fiz o programa abaixo conforme apostila, e estava funcionando, mas derepente parou de funcionar e dar a uma mensagem para este e qualquer outro programa que tento fazer.

A mensagem: Exception in thread “main” Java.Lang.NotassdeffoundError:PJ

O programa é esse:/ / PJ.java
/ / Programa que escreve em uma linha PORTAL JAVA !

public class PJ {

public static void main( String[] args ) {

System.out.println( " PORTAL JAVA ! ");

}

}

:roll:

30 Respostas

A

verifica se o arquivo PJ.class (que é criado qdo vc compila) existe…

use uma ferramenta pra desenvolver suas aplicacoes, por exemplo:

jcreator-> http://www.jcreator.com/download.htm
netBeans-> http://www.netbeans.org/
o NetBeans tem editor visual…

qualquer outra duvida é só postar aki…

R

q puxa saco…
huauahau
zuera e bem vindo ao PJ

vc tem q primeiro compilar com o programa javac
vc faz:
javac PJ.java

ai se não tiver erro de sintaxe, ele vai criar um arquivo PJ.class

ai vc roda

java PJ

ai roda…

E

Pessoal já fiz isto que vcs disseram e não funciona até mesmo dentro do netbeans está dando este erro. :eek:

D

Ae Edi, vamos do inicio:

Abra o bloco de notas e digite o seguinte programa:

public class First {

    public static void main(String[] args) {
        System.out.println("Primeiro programa em Java!");	
    }

}

bom agora salve ele como First.java (atencao para a primeira letra maiuscula).

Feito isso, compile:

javac First.java

e entao execute

java First

deve funcionar assim…

C

No cmd(windows) digite:

set classpath=

e agora execute seu java!!

Até!!

E

O que vc quiz dizer com cmd, o autoexec?

D

cmd=command…
vah em start(iniciar)/run(executar) e digite cmd…ele vai abrir o prompt de comando…digite path…isso eh para ver se o path esta ok…
e vc deve tentar compilar o seu programa aqui no prompt de comando, mas dentro do diretorio onde vc criou o .java…
por exemplo se vc colocou no diretorio testes…

C:
 |------Testes
             |--------programa.java

digite cd\testes
ele vai entrar no diretorio, ai sim, dentro do diretorio…

javac First.java

java First

[]'s

E

Isto tudo está ok.
Consigo compilar com o javac PJ.java beleza ele gera o PJ.class, Mas na hora de Executar com o java PJ me da aquele erro. :?:

C

Vc deve fazer o q a Diana falou e daí seguir os seguintes passos:

Dentro do dir do teu class digite:

set classpath=

É, vazio mesmo!!!

Aí execute o java:

java HeeloWorld

*Sem digitar .class!!!

Espero que de certo!

Até +!

D

Ai Edi, c tentou fazer copiar e compilar/executar o exemplo q deu na meu post acima?! Deu certo aí?

E

TEntei e não funcionou, o mais estranho ontem a noite no netbeans funcionava, novamente e direto no prompt não. deve ter algo mal configurado, talvez algo com o classpath, não sei.
no meu autoexec tem o set classpath mas não está vazio, esta setando coisas de outros programas.

se tiverem alguma idéia.

T

Olá, Edi

Nos faça um favor, informe qual seu S.O, SDK, IDE…
se possível também, qual o conteúdo das variáveis PATH e CLASSPATH…

:wink: Té mais

E

“thai”:
Olá, Edi

Nos faça um favor, informe qual seu S.O, SDK, IDE…
se possível também, qual o conteúdo das variáveis PATH e CLASSPATH…

:wink: Té mais

Meu S.O é o Windows o SDK é o 1.2.0.4 se não me engano, a IDE queu estou usando é o Netbeans 3.6, mas este funça agora, é só direto no Dos que não funciona quando dou o JAVA PJ.

T

Ok, deixa eu ver se entendi…
TODOS os arquivos *.class estão executando normalmente através do Netbeans, mas quando você tenta executá-los direto pelo prompt dá erro, certo?

Isso parece um problema clássico de má configuração das variáveis de ambiente…

Não é por nada não, mas… SDK 1.2… já está um tanto ultrapassado, não acha?
Quer uma dica?
***Atualize seu SDK e reconfigure a PATH…

E

“thai”:
Ok, deixa eu ver se entendi…
TODOS os arquivos *.class estão executando normalmente através do Netbeans, mas quando você tenta executá-los direto pelo prompt dá erro, certo?

Isso parece um problema clássico de má configuração das variáveis de ambiente…

Não é por nada não, mas… SDK 1.2… já está um tanto ultrapassado, não acha?
Quer uma dica?
***Atualize seu SDK e reconfigure a PATH…

Me enganei quanto a versão do sdk é a 1.4.2_04, Qual deve ser a configuração do meu PATH

T

Qual a versão do seu Windows?

E

Windows 98

T

Certo, então você vai editar o seu arquivo autoexec.bat acrescentando o caminho da pasta bin à variável PATH

No seu arquivo autoexec.bat deve haver a seguinte linha:
SET PATH= C:\WINDOWS;C:\WINDOWS\COMMAND

Você vai acrescentar: “;C:\J2SDK1.4.2_<version>\BIN”

Exemplo:
SET PATH = C:\WINDOWS;C:\WINDOWS\COMMAND;C:\J2SDK1.4.2_<version>\BIN

Ok?

:wink: Espero ter ajudado…

E

“thai”:
Certo, então você vai editar o seu arquivo autoexec.bat acrescentando o caminho da pasta bin à variável PATH

No seu arquivo autoexec.bat deve haver a seguinte linha:
SET PATH= C:\WINDOWS;C:\WINDOWS\COMMAND

Você vai acrescentar: “;C:\J2SDK1.4.2_<version>\BIN”

Exemplo:
SET PATH = C:\WINDOWS;C:\WINDOWS\COMMAND;C:\J2SDK1.4.2_<version>\BIN

Ok?

:wink: Espero ter ajudado…

Valeu pela ajuda, mas já está assim. Já fiz isto.
Não sei mais o que pode ser.

T

Você tem certeza que ao executar o arquivo pelo DOS você está na mesma pasta onde o arquivo PJ.class foi criado?

Não basta você abrir o prompt e já ir digitando “java PJ”
Você tem que entrar na pasta (pelo DOS) e digitar o comando, a não ser que o arquuivo .class esteja no diretório raiz.

E

“thai”:
Você tem certeza que ao executar o arquivo pelo DOS você está na mesma pasta onde o arquivo PJ.class foi criado?

Não basta você abrir o prompt e já ir digitando “java PJ”
Você tem que entrar na pasta (pelo DOS) e digitar o comando, a não ser que o arquuivo .class esteja no diretório raiz.

Eu sei disso geralmente estou testando no raiz mas já copie o arquivo em pastas diferentes, entrei na pasta pelo dos dei o java PJ e sempre da o erro.

T

Ok, posta o código para eu tentar fazer um teste aqui…

E

O Codigo é este:

public class PJ {

public static void main( String[] args ) {

System.out.println( " PORTAL JAVA ! ");

}

}

É o mais simples possível.

R

alguém jogou praga no seu pc!

T

Olha, Edi

Dei uma olhada no código e está tudo certo com ele…
Quando ocorre esse erro "Exception in thread “main” java.lang.NoClassDefFoundError: PJ " é porque o comando java não encontrou o arquivo PJ.class.
Se você também está compilando pelo DOS certifique-se de que o arquivo PJ.class foi criado.

:wink:

L

thai eu acho que só faltou uma coisa para vc dizer no win 98 vc tambem deve informar o caminho das classes no caso vc deve colocar no autoexec.bat o seguinte
SET CLASSPATH=“caminho de onde estão as classes(.class)” igual ao que digita no prompt com os ~ e tudo
configurei em um win 95 acho que deve ser a mesma coisa
o meu esta assim
SET CLASSPATH=C:\MYDOCU~1\JAVA\PROGRA~1
ai tambem vc coloca o caminho dos executaveis do java que o caso da variavel PATH

ai Edi tenta fazer isso que acho que deve funcionar mas o caminho deve igual
dica:
entra no prompt do DOS para dar o comando dir e saber como que está o nome das pastas, ela fica com um ~ no meio vc deve colocar desse jeito como vc vê no prompt até onde vc deixou as classes do seu programa

espero te ajudar até mais

T

Olá, lula

Não necessariamente tem que se configurar o CLASSPATH, falo isso por experiência própria, trabalhei muito tempo no win98 sem precisar configurar nada mais que a PATH.

O erro que está acontecendo (Exception in thread “main” java.lang.NoClassDefFoundError: PJ) se dá porque o arquivo .class, no caso PJ.class, não está sendo encontrado.
Então isso significa que ou o arquivoe não está na mesma pasta onde o comando está sendo executado ou não está com esse nome…
Não é erro de configuração, pois o comando java foi encontrado…

:wink:

J

faz assim oh
vai la no dos, e digita:

set classpath=

e vai la e compila e executa sua classe que vai funcionar!

Vai com fé!

=)

cya!

E

“jujo”:
faz assim oh
vai la no dos, e digita:

set classpath=

e vai la e compila e executa sua classe que vai funcionar!

Vai com fé!

=)

cya!

Valeu Jujo funcionou beleza cara.
:razz: Muito obrigado a todos que me ajudaram :grin:

C

O microfilo…
Calma kra… Tenha paciencia com os integrantes da familia do PJ q tao comecando, pois ninguem nasceu sabendo kra!!

Abracao e te +

Criado 5 de julho de 2004
Ultima resposta 10 de jul. de 2004
Respostas 30
Participantes 10