Execução em ambiente Windows

5 respostas
D

Amigos.

Sou novato em Java.

Tenho um projeto onde me ambiente Linux funciona perfeitamente.
Fui instruido a migrar para ambiente Windows.
Quando executo meus arquivos .jar gera o seguinte erro

Exception in thread "main" java.lang.NoClassDefFoundError: MEUSISTEMA/util/aop/IHi
storicoProcessamentoServiceAOP
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Caused by: java.lang.ClassNotFoundException: MEUSISTEMA.util.aop.IHistoricoProcess
amentoServiceAOP
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 12 more
Could not find the main class: MEUSISTEMA.coletor.Coletor. Program will exit.

5 Respostas

kenneth

Fala brow,

EDIT: O problema é que ele nao ta encontrando a classe principal…

Acredito que seja por causa da estrutura de pastas.

No linux, voce usa algo como /pasta/subPasta/sistema/
No windows, fica C:\pasta\subPasta\sistema\

Abraco.

D

kenneth:
Fala brow,

EDIT: O problema é que ele nao ta encontrando a classe principal…

Acredito que seja por causa da estrutura de pastas.

No linux, voce usa algo como /pasta/subPasta/sistema/
No windows, fica C:\pasta\subPasta\sistema\

Abraco.

Neste caso como vejo estas questões?

Porque eu não posso simplesmente mudar. Ja que tenho clientes em linux e clientes em windows

Desde ja agradeço a ajuda

alexvingg

usa o arquivo .properties e deixa o caminho lá das aplicações linux e windows e na app vc faz o controle…
fica meio pog mais pra resolver rápido axo q funfa.

D

alexvingg:
usa o arquivo .properties e deixa o caminho lá das aplicações linux e windows e na app vc faz o controle…
fica meio pog mais pra resolver rápido axo q funfa.

Alexvingg…Obrigado pela ajuda.

Mas você pode me mandar algum exemplo?

Como disse. Sou iniciante em Java.

Abraço

maior_abandonado

pode ser outras coisas além disso…

como você está executando estes jars?

se é dando um duplo clique no arquivo, ou executando via comando “java-jar <nome do arquivo jar>”, verifique se essa classe existe esse classe no arquivo jar. Se for via java <nome da classe>, certifique-se que o jar com essa classe esteja no classpath.

para ver se alguma classe está dentro do arquivo jar você abre ele com um descompactador, como o winzip ou winrar, e procura a classe pelo endereço marcado no erro (MEUSISTEMA/util/aop/IHistoricoProcessamentoServiceAOP).

para ver se a classe encontra-se no classpath, verifique se o comando que inicializa seu sistema usa o argumento “-cp”, caso sim, os endereços passados em seguida estarão no classpath. Digite também no dos o comando “echo %CLASS_PATH%”.

Depois disso tudo mesmo que resolva volte aqui e diga como resolveu…

Criado 19 de abril de 2011
Ultima resposta 19 de abr. de 2011
Respostas 5
Participantes 4