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 !
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
EdiPJ
Pessoal já fiz isto que vcs disseram e não funciona até mesmo dentro do netbeans está dando este erro. :eek:
D
darkseidPJ
Ae Edi, vamos do inicio:
Abra o bloco de notas e digite o seguinte programa:
publicclassFirst{publicstaticvoidmain(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:
javacFirst.java
e entao execute
javaFirst
deve funcionar assim…
C
clvPJ
No cmd(windows) digite:
setclasspath=
e agora execute seu java!!
Até!!
E
EdiPJ
O que vc quiz dizer com cmd, o autoexec?
D
DianaPJ
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
EdiPJ
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
clvPJ
Vc deve fazer o q a Diana falou e daí seguir os seguintes passos:
Dentro do dir do teu class digite:
setclasspath=
É, vazio mesmo!!!
Aí execute o java:
javaHeeloWorld
*Sem digitar .class!!!
Espero que de certo!
Até +!
D
darkseidPJ
Ai Edi, c tentou fazer copiar e compilar/executar o exemplo q deu na meu post acima?! Deu certo aí?
E
EdiPJ
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
thaiPJ
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…
Té mais
E
EdiPJ
“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…
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
thaiPJ
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
EdiPJ
“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
thaiPJ
Qual a versão do seu Windows?
E
EdiPJ
Windows 98
T
thaiPJ
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?
Espero ter ajudado…
E
EdiPJ
“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?
Espero ter ajudado…
Valeu pela ajuda, mas já está assim. Já fiz isto.
Não sei mais o que pode ser.
T
thaiPJ
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
EdiPJ
“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
thaiPJ
Ok, posta o código para eu tentar fazer um teste aqui…
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.
L
lulaPJ
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
thaiPJ
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…
J
Juliano_CarnielPJ
faz assim oh
vai la no dos, e digita:
setclasspath=
e vai la e compila e executa sua classe que vai funcionar!
Vai com fé!
=)
cya!
E
EdiPJ
“jujo”:
faz assim oh
vai la no dos, e digita:
setclasspath=
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
C
CassolatoPJ
O microfilo…
Calma kra… Tenha paciencia com os integrantes da familia do PJ q tao comecando, pois ninguem nasceu sabendo kra!!