Problemas com .JAR + .DLL (Agora com arquivo de teste )[RESOLVIDO]  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
brunnot
JavaBaby

Membro desde: 06/06/2005 07:28:42
Mensagens: 99
Offline

Pessoal,
Estou criando um .JAR da minha aplicação, mas acontece que uma das bibliotecas que uso, utiliza uma DLL que tenho que colocar no /System32.

Acontece que ao tentar executar meu programa pelo .JAR ele da o erro exatamente em uma das funções que utiliza a .DLL.
Tem algum modo de gerar o .JAR com a .DLL??

Meu arquivo Manifest:
Citação:

Manifest-Version: 1.0
Main-Class: registro.Main
Name: registro\Main.class
Java-Bean: True
Class-Path: c:/Arquivos de Programas/Java/LatteLib/lattelib/lib/LatteLibWin-3.0.0.jar




Uma tentativa para ver se ele incluia o path da DLL

Citação:

Manifest-Version: 1.0
Main-Class: registro.Main
Name: registro\Main.class
Java-Bean: True
Class-Path: c:/Arquivos de Programas/Java/LatteLib/lattelib/lib/LatteLibWin-3.0.0.jar C:\WINDOWS\system32\LatteLibWin-3.0.0.dll


Mas nenhum funcionou...Algué sabe como posso fazer nesse caso..

This message was edited 2 times. Last update was at 19/07/2005 19:05:37

afamorim
JavaEvangelist
[Avatar]

Membro desde: 15/07/2005 09:19:04
Mensagens: 453
Localização: Salvador - Ba
Offline

Eu vi algo parecido no core java, acredito que na versão avançada, de uma olhada, acredito que vai ter o que vc procura.

se vc não quer ficar alegre, problema seu a vida segue!
[Email]
furutani
JWizard
[Avatar]

Membro desde: 11/10/2003 23:58:51
Mensagens: 2995
Localização: Iacri-SP e São Paulo-SP
Offline

Qual é o erro ?

Até mais,
Roberto Jundi Furutani


Sun Certified Business Component Developer 1.3
Sun Certified Web Component Developer
Sun Certified Java Programmer
SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0

[WWW]
thingol
Moderador

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



Dois problemas aqui.
1) Acho que você não pode usar "\" em nomes de arquivos e classes, e mesmo no "Name" não é bom pôr isso.
2) Espaços em nomes de arquivo nunca foram boa coisa. Experimente copiar o LatteLibWin-3.0.0.jar para um diretório sem espaços, e talvez tirar a letra do drive (não sei se ":" também não é bom de usar)


[WWW]
brunnot
JavaBaby

Membro desde: 06/06/2005 07:28:42
Mensagens: 99
Offline

O erro não encontra o

lattelib.win.WindowsException

Que é o método que usa a DLL para funcionar...


furutani
JWizard
[Avatar]

Membro desde: 11/10/2003 23:58:51
Mensagens: 2995
Localização: Iacri-SP e São Paulo-SP
Offline

Ele não encontra o método. A DLL ele consegue encontrar e carregar?

Pode ser que o nome do método native da sua classe esta diferente da que está dentro da DLL.

Até mais,
Roberto Jundi Furutani


Sun Certified Business Component Developer 1.3
Sun Certified Web Component Developer
Sun Certified Java Programmer
SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0

[WWW]
brunnot
JavaBaby

Membro desde: 06/06/2005 07:28:42
Mensagens: 99
Offline

Acontece que eu consigo executar pelo Netbeans...
E para ver se o problema era com o carregamento da DLL, eu tirei a DLL do windows/System32, e tetei rodar pelo NetBeans, ai que eu tive certeza, pois o erro foi o mesmo que estava dando no .JAR.
brunnot
JavaBaby

Membro desde: 06/06/2005 07:28:42
Mensagens: 99
Offline

Eu acho isso um grande problema....pois tenho uma aplicação pronta que não posso distribuir, pq não hà a possibilidade de o .JAR (Executavel padrão do Java) localiza uma DLL.....
E essa DLL nem é minha, faz parte de uma API que usei.
Procurei em tudo que forum e até agora parece que esse problema não tem solução...
Armitage
JavaTeenager
[Avatar]

Membro desde: 19/08/2003 15:39:37
Mensagens: 191
Localização: São Paulo
Offline

Eu passei por algo similar aqui no trabalho... a solução que eu encontrei foi tentar encontrar a .DLL no windows\system32 se eu não encontrar eu baixo do meu servidor e gravo lá... mais a minha aplicação [APPLET] roda na intranet.


This message was edited 1 time. Last update was at 18/07/2005 12:25:25


"Deram-me um dia de nascimento, e agendaram-me um para morrer. Entre estes o que restou, sou eu"

Status MSN:
Status ICQ(trabalho):
Status ICQ(casa):
[WWW] aim icon [MSN] [ICQ]
brunnot
JavaBaby

Membro desde: 06/06/2005 07:28:42
Mensagens: 99
Offline

Então, mas esse não é o grande problema...acontece que a DLL na minha máquina está no System32. E não seria o problema copiar a DLL no System32 do usuário...
Acontece que o .JAR não procura essa .DLL.
Na hora de compilar pelo NetBeans por exemplo, ele procura e executa essa DLL.
Mas pelo .JAR creio eu que deve ter alguma opção ou alguma forma de forçar isso...
Só que ninguém sabe fazer isso.....
Agora imagine uma aplicação grande que necessite de alguma dll....como os programadores fazem para executar ela????

Isso eu gostaria de saber....
Armitage
JavaTeenager
[Avatar]

Membro desde: 19/08/2003 15:39:37
Mensagens: 191
Localização: São Paulo
Offline

No meu caso é uma impressora de cheque eu dou um load na DLL no start do meu applet



E pronto da tudo certo!

"Deram-me um dia de nascimento, e agendaram-me um para morrer. Entre estes o que restou, sou eu"

Status MSN:
Status ICQ(trabalho):
Status ICQ(casa):
[WWW] aim icon [MSN] [ICQ]
brunnot
JavaBaby

Membro desde: 06/06/2005 07:28:42
Mensagens: 99
Offline

É isso eu ainda não tinha tentado....
Nesse LoadLibrary(). Vc coloca o caminho completo da dll, ou somente o nome dela, independente do local???/
Armitage
JavaTeenager
[Avatar]

Membro desde: 19/08/2003 15:39:37
Mensagens: 191
Localização: São Paulo
Offline

Só o nome da DLL sem extensão nem nada.

Se quizer o caminho todo use :



"Deram-me um dia de nascimento, e agendaram-me um para morrer. Entre estes o que restou, sou eu"

Status MSN:
Status ICQ(trabalho):
Status ICQ(casa):
[WWW] aim icon [MSN] [ICQ]
brunnot
JavaBaby

Membro desde: 06/06/2005 07:28:42
Mensagens: 99
Offline

Blz, vou testar e coloco o resultado...

Uma última pergunta...eu coloco isso no inicio do método main né??
Armitage
JavaTeenager
[Avatar]

Membro desde: 19/08/2003 15:39:37
Mensagens: 191
Localização: São Paulo
Offline

Exato!

Se ainda tiver problemas da um toque que eu tento te ajudar.

"Deram-me um dia de nascimento, e agendaram-me um para morrer. Entre estes o que restou, sou eu"

Status MSN:
Status ICQ(trabalho):
Status ICQ(casa):
[WWW] aim icon [MSN] [ICQ]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team