E aí pessoal, tudo bem?
Estou com problemas ao tentar rodar uma classe visual, através da linha de comando do windows. Alguém pode me ajudar?
Eis a mensagem de erro:
Exception in thread “main” java.lang.NoClassDefFoundError: Data_beta\data\V_Data_beta
Obs: data é o pacote e, é claro, V_Data_beta é o arquivo.class
Uso o Windows XP.
Classpath: C:\Arquivos de programas\Java\jdk1.5.0_03\lib
Você está tentando executar na linha de comando a partir de qual diretório?
Se Data_beta\data\V_Data_beta.class
Você tem que estar no Data_beta e executar:
java data/V_Data_beta
(com a barra normal mesmo)
Se o que eu disse no último post não der certo tenta mudar o CLASSPATH:
C:\Arquivos de programas\Java\jdk1.5.0_03\lib;.;
Não deu certo! Executei o comando “java data\V_Data_beta” dentro da pasta Data_beta e o mesmo erro ocorreu. A propósito, não importa como eu escreva a barra, o erro é repetido.
Dentro da pasta Data_beta executa java data.V_Data_beta , pelo menos é assim que eu faço. Se continuar esse erro da uma olhada nesse topic e vê se suas variaveis de ambiente estão setadas corretamente!
http://www.portaljava.com/home/modules.php?name=Forums&file=viewtopic&t=9607
Tá, vamos ver.
Classes sem pacotes você compila e executa normalmente pela linha de comando?
Se a resposta for sim, não tem problema com seu CLASSPATH, caso contrário a probabilidade de que o seu CLASSPATH esteja errado é muito grande.
O caminho da sua classe é esse?
C:\Data_beta\data\V_Data_beta.class
ou esse?
C:\Data_beta\data\V_Data_beta\V_Data_beta.class
Você compilou usando uma IDE neh? E executar pela IDE funciona?
Já tentou compilar pela linha de comando? Às vezes o CLASSPATH da IDE está certo, mas a sua variável de ambiente CLASSPATH não está (as IDEs usam o próprio CLASSPATH na hora de compilar e executar).
Ainda não sei o que é…acho que é a configuração das variáveis…
Maluquo1, tentei usando o ponto “java data.V_Data_beta” ao invés da barra, mas o erro persiste. Fui até o tutorial que você me passou, tentei e nada. Vou ver isso direito. Como o Javadrops perguntou, de fato eu me utilizei do Eclipse 3.0 para construir meu programa e lá tudo é compilado às mil maravilhas. Quanto à linha de comando, Javadrops, é nela que não consigo rodar meus programas: Compilar até consigo, rodar nem a pau! Fui, agora mesmo, tentar rodar uma classe não visual na linha de comando - o que eu já fizera anteriormente com sucesso - e bum! Não consegui também!
Bem, vou continuar tentando. Valeu as dicas galera!
Pára tudo!
Agora pouco escrevi algo, mas, o mundo dá voltas…
Fiquei injuriado e procurei na net um tutorial sobre ajustar o CLASSPATH no Windows: Agora o meu está correto. Fiz um teste - com a classe não visual a que me referi anteriormente - e a compilei e executei, vejam o resultado:
C:>cd Documents and Settings\Caio\Meus documentos\Programas Java
C:\Documents and Settings\Caio\Meus documentos\Programas Java>javac Ellsworth.java
C:\Documents and Settings\Caio\Meus documentos\Programas Java>java Ellsworth
“The advencement of the arts, from year
to year, taxes our credulity and seems
to pressage the arrival of that period
when human improvement must end.”
Henry Ellsworth
U.S. Commissioner of Patents
1843 Annual Report of the Patent Office
Agora meu problema é a classe visual…
A propósito Maluquo1:
Aquilo que o Zabula escreveu precisa de uma pequena correção:
Na criação do CLASSPATH o valor da variável não deve ser vazio, mas, simplesmente, um ponto; sim um “.” (sem as aspas).
É só um teste de assinatura…me cadastrei hoje…
Mas então, agora está funcionando?
Fala aí Javadrops!
O problema com a CLASSPATH está resolvido e, agora, já consigo compilar e executar classes não visuais pela linha de comando. Já com as classes visuais…
Nem pelo Eclipse executa?
Pelo eclipse roda bem. O problema é que eu quero executá-lo pela linha de comando, ou seja, em qualquer computador com o J2SDK instalado.
Caraca Javadrops!!! Consegui!!!
Êta…o último erro era em minha classe, veja só:
Na classe main eu ecrevi assim, esqueci-me dos argumentos!
public static void main()
{V_Data_beta abre = new V_Data_beta();
abre.show();}
O certo é assim:
public static void main(String args[])
{V_Data_beta abre = new V_Data_beta();
abre.show();}
Abri o fonte, corrigi - também retirei a referência das classes ao pacote (package) e também o eliminei; compilei a classe que possui o método main a chamei pela linha de comando e pimba! Valeu irmãozinho!
Acabei de instalar o eclipse aqui. Vasculhei os preferences e só achei a configuração do JRE (que segundo informado será usado para compilar e executar as classes).
Provavelmente o seu CLASSPATH, o PATH e o JAVA_HOME apontam para outro caminho e esse pode ser o motivo do erro. Você fez em uma versão, mas as suas variáveis de ambiente apontam para uma versão mais antiga (isso já aconteceu comigo e se não me engano dava esse mesmo erro).
Nesse caso o erro estaria no PATH que aponta para uma pasta BIN de uma versão antiga.
Pode ser…
Eliminei as variáveis antigas e as refiz, tal como vi em um tutorial. Como eu escrevi há pouco, consegui compilar e executar a bendita classe visual sem o pacote. Agora - mais um avanço - recoloquei as classes dentro do pacote data, redigitei as referências aos pocote nos códigos-fonte das classes e consegui compilá-las e executá-las tranqüilamente! Tal como disse o maluquo1, para chamar a classe compilada, que está dentro do pacote, é preciso digitar na linha de comando:
java nome_do_pacote.nome_da_classe. Se usarmos a barra ao invés do ponto não conseguiremos executá-la. Curiosamente, no entanto, na hora de compilarmos a classe, devemos digitar:
javac nome_do_pacote\nome_da_classe OU javac nome_do_pacote/nome_da_classe, não importando o sentido da barra, bastando que não usemos o ponto. Que coisa não?