'CLASSPATH' não é reconhecido como um comando interno ou...  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
dir
Thread.start()

Membro desde: 23/08/2006 21:06:27
Mensagens: 35
Offline

O que se passa é o seguinte: decidi entrar agora nesta cena do Java e tal, instalei o JDK 1.5.0_08 e entao pus me a definir as variaveis todas (path, classpath e java_home) pa dar tudo bem quando vou compilar e executar os meus programas pela linha de comandos. Consegui definir todas as variavies e tudo corria na perfeição: todas as variaveis eram reconhecidas e tudo compilava e excutava na maior.

Até que certa vez, depois de desligar o pc, escrevi o comando help na linha de comandos e nao o reconheceu, achei estranho e la fui arranjar a cena da variavel path pa dar tanto pos comandos java como pos comandos internos e tudo ficou bom.

As tantas as minhas variaveis estavam:

PATH = C:\WINDOWS\System32;C:\Programas\Java\jdk1.5.0_08\bin
JAVA_HOME = C:\Programas\Java\jdk1.5.0_08
CLASSPATH = .;JAVA_HOME

(definidas pelo ambiente windows xp e não pela linha de comandos)

(peco desculpa se me prolongo...mas e so pa terem o quadro completo da situacao)

Entretanto instalei o JDK 1.6.0, redefini as variaveis de forma correcta (de acordo com os novos e caminhos) e tudo bem na mesma.

Torno a desligar o pc (durante uma noite de sono) e no dia seguinte volto a ligar e o que é que acontece? Compila mas não executa. Aparece a segunte mensagem de erro: "Exception in thread 'main'java.lang.NoClassDefFoundError: Hello1/class

(sendo que Hello1.class é a class gerada e que qero executar)

Tinha por acaso visto que normalmente quando este erro aparece e pq a variavel classpath n ta definida... Vou tentar e definir e pronto dá o erro do titulo deste tópico: "CLASSPATH não é reconhecido como um comando interno ou externo, programa operacional ou ficheiro batch."

Não reconhece o comando CLASSPATH, nem (como mais tarde vim a verificar) o cmando JAVA_HOME...

Será que alguem me pode ajudar?

Desde já obrigado.
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

sua linha de comando deve ser:

java Hello1

e não:

java Hello1.class

Isso eh, para a virtual machine voce passa somente o nome da classe, ela se encarrega de achar em que arquvio aquela classe esta.


http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
dir
Thread.start()

Membro desde: 23/08/2006 21:06:27
Mensagens: 35
Offline

Estou a ver.. dessa forma já não me aparece o erro e consigo correr logo o programa. Muito obrigado.
No entanto ainda fiquei com uma duvida: qual é entao a explicacao para o não reconhecimento dos comandos (variaveis) CLASSPATH e JAVA_HOME?
Rostery
Thread.start()
[Avatar]

Membro desde: 23/08/2006 09:44:01
Mensagens: 25
Offline

Opa, aki eim casa, eu coloquei somente o JAVA_HOME, naum precisou colocar esse CLASSPATh naum...

O que vc ta tentando fazer é digitar no shel, em qualquer dir, os comandos java neh?

pode deixar somente o JAVA_HOME la nas variaveis que funciona belezinha,,,

qlq coisa tamo ae pa ajuda!!e ajuda eu tb!!!rs

flw té+

___________
"É muito bom ser importante mas, é mais importante ser BOM!"
___________
aRs
___________
[MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Você está confundindo o Windows com o Unix.

No Unix, normalmente você faz algo como:

CLASSPATH=bla bla bla; export CLASSPATH

No Windows, o comando é:

SET CLASSPATH=bla bla bla

A exceção do Windows é o PATH , que aceita

PATH=bla bla bla.

Isso é herança dos tempos de MS-DOS 1.0. Não me pergunte mais detalhes.
[WWW]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team