Porque não consigo executar uma class no dos e via eclipse eu consigo

7 respostas
S

Estou executando uma classe via eclipse e a mesma executa sem problemas, mas quando executo via DOS o mesmo mostra a seguinte msg:

C:\eclipse\workspace\teste\bin\br\com\circular\sgf\ponto>java PontoEletronicoFuncionario

Exception in thread “main” java.lang.NoClassDefFoundError: PontoEletronicoFuncionario (wrong name: br/com/circular/sgf/ponto/PontoEletronicoFuncionario)
at java.lang.ClassLoader.defineClass0(Native Method)

Ja verifique a path e a classpath e estão direcionando para este local.

Aguardo, :frowning:

7 Respostas

Mauricio_Linhares

NoClassDefFoundError == Classpath

S

Deculpe-me Maurício, mas não entendi, vc esta dizendo que provavelmente tenho algum erro de direcionamento no classpath referente a esta class que estou rodando ?

ramos

Provavelmente o erro está acontecendo porque o diretório atual não está no CLASSPATH, então a máquina virtual procura a classe da sua aplicação em todos os diretórios do CLASSPATH, mas não no próprio diretório em que você está. Você pode alterar isso, adicionando um ponto ao final do seu CLASSPATH.

Para fazer isso, antes de chamar a máquina virtual para executar a aplicação pelo DOS, digite:

SET CLASSPATH=%CLASSPATH%;.
furutani

A sua classe está dentro de packages, não para executar do jeito que você fez.
Tente fazer assim

cd  C:\eclipse\workspace\teste\bin
java br/com/circular/sgf/ponto/PontoEletronicoFuncionario
S

Pessoal não sei o que esta ocorrendo, mas me da a impressão que as coisas estão certas, segue abaixo o classpath e também como estou executando a class, por favor de uma olhada e veja se encontra algo errado:

CLASSPATH==>

.;C:\ORACLEADMIN\jdbc\lib\ojdbc14.jar;C:\ORACLEADMIN\jdbc\lib\classes12.jar;C:\j2sdk1.4.2_04\bin;C:\ProjetoJava\SGF\SGFJava\Jdbc\classes12.jar;C:\tmp\tomcat\common\lib;C:\jli;c:\jli\Tornatti;C:\jli\Tornatti\aSSo;C:\jli\Tornatti\aSSo\aSSoAll.jar;C:\jli\Tornatti\aSSo\aSSoRMI.jar;C:\jli\Tornatti\aSSo\JLiWebPack.jar;C:\tmp\tomcat\webapps;C:\tmp\tomcat\common\lib\servlet.jar;C:\SINVAL\Java_MB;C:\VeriFinger_42_SDK\VeriFinger 4.2 SDK Extended\VFDemo.java;C:\VeriFinger_42_SDK\VeriFinger 4.2 SDK Extended\Bin;C:\eclipse\workspace\teste\bin\br\com\circular\sgf\ponto;.

Conforme solicitação coloquei o ponto no final… local onde esta meu .class é:C:\eclipse\workspace\teste\bin\br\com\circular\sgf\ponto

Como executo o programa:

C:\eclipse\workspace\teste\bin\br\com\circular\sgf\ponto>java RegistraBiometriaFuncionario

O que esta errado?

S

Furutani, legal, funcionou :smiley: Mas diga-me porque tenho que colocar as “/” invertidas nos pacotes ? Sô assim funcionou.

Aguardo

furutani

Barra invertida?
Você diz assim:

java br\com\circular\sgf\ponto\PontoEletronicoFuncionario

Comigo funciona com as barras normais e ponto, com barra invertida dá erro.

Criado 21 de julho de 2005
Ultima resposta 21 de jul. de 2005
Respostas 7
Participantes 4