olá pessoas !
existe alguma maneira/biblioteca/jni que carrega uma dll -Djava.library.path="{dll path}"
que está dentro de um jar , utilizando java 5?
obrigado.
olá pessoas !
existe alguma maneira/biblioteca/jni que carrega uma dll -Djava.library.path="{dll path}"
que está dentro de um jar , utilizando java 5?
obrigado.
A dll pode ficar no lib do jre?
Se sim, pode fazer:
System.LoadLibrary(“NomeDll”);
obrigado pela atencao …
mas …
na lib do jre, ou no path funciona legal.
eu estava imaginando alguma maneira de pegar a dll dentro do jar, unzipar dentro da pasta do jre ou do path, e depois ler.
assim funcionaria.
serah q existe alguma maneira via jni, por exemplo, de carregar a dll dentro de um jar ?
Dá uma olhada no que os kras dizem neste tópico:
Pelo que entendi, tem que ser copiado a dll para o lib path da máquina antes de carregá-lo.
Porém no método (do tópico citado) cria o InputStream baseado no path que é passado. Talvez teria que ser criado o InputStream extraindo o jar (zip):
java.util.jar.JarFile jar = new java.util.jar.JarFile(jarFile);
java.util.Enumeration arqs = jar.entries();
while (arqs.hasMoreElements()) {
java.util.jar.JarEntry file = (java.util.jar.JarEntry) arqs.nextElement();
if ( "arquivo do tipo dll") {
java.io.InputStream is = jar.getInputStream(file); // get the input stream
}
// use este is...
}
Dentro do jar não.
Mas, como você vai precisar colocar o jar em algum lugar, você pode colocá-los no mesmo diretório.
Por exemplo, se você criar um instalador e este instalar sua aplicação em C:\program files\teu_programa\bin, basta que você coloque a dll junto do .jar e irá funcionar.
obrigado a todos pela atenção.