java eclipse jar jri nativelibrary

java - Jar Exportar a Runnable con bibliotecas de códigos nativas adicionales en eclipse



jri nativelibrary (4)

Puedes poner las bibliotecas dentro de tu jar:

Exportar...

Java> archivo JAR ejecutable

El paquete requiere bibliotecas en el Jar generado

Terminar

Siempre exporto de esta manera. No sé si funcionará en su caso, pero vale la pena intentarlo.

Editar:

Vea estos enlaces:

Mi suposición es que esto tiene algo que ver con que LD_LIBRARY_PATH no se haya establecido correctamente. O el archivo que está buscando no se encuentra en la ruta de la lista.

Tengo problemas para exportar mi proyecto Java desde eclipse como un archivo ejecutable jar. Mi proyecto Java usa una biblioteca externa (se llama jri). He exportado el archivo jri.jar y configurado la ruta de la biblioteca para su biblioteca nativa en eclipse, y funciona muy bien en desarrollo en eclipse. Sin embargo, cuando lo exporto como un archivo jar ejecutable obtengo el siguiente error:

Cannot find JRI native library! Please make sure that the JRI native library is in a directory listed in java.library.path.

He colocado una carpeta llamada lib en el mismo directorio que el jar de mi proyecto; esta carpeta lib contiene la biblioteca nativa de jri. La biblioteca nativa de jri no está en un archivo sino en una carpeta. Esta es la misma configuración que tengo en eclipse.

La forma en que estoy exportando mi proyecto en eclipse es

Export... Java > Runnable JAR file Copy required libraries into a sub folder next to the generated Jar Finish

Y mi carpeta está organizada así

folder project project.jar project_lib jri.jar jri native library folder

El MANIFEST.MF de mi project.jar es:

Manifest-Version: 1.0 Class-Path: . project_lib/jri.jar Main-Class: index

Lo que quiero lograr es darle a otra persona una carpeta que incluya project.jar y todo lo demás necesario para que él / ella pueda ejecutarlo sin necesidad de instalar nada más. Muchas gracias


Esto es relativamente difícil de implementar. Las soluciones que he visto implican extraer las bibliotecas nativas en el JAR a un directorio temporal del sistema operativo y luego cargarlo. Yo buscaría una solución integrada para eso. One Jar y Java Class Loader lo admiten, y en la segunda página encontrará enlaces a herramientas similares.


Agregue un script que contenga algo así:

#!/bin/bash java -Djava.library.path=project_lib/native/ -jar project_lib/jri.jar

Exporto algunos proyectos de Java de esa manera.


Sabes que tuve los problemas similares

Could not extract native JNI library.

todas las propuestas anteriores no pueden ayudarme. No pude detener e iniciar gradle deamon con el siguiente comando:

gradle --stop

Vi que Gradle Deamon todavía no se detuvo en mis procesos. Es por eso que lo mato en mi proceso y todo estará bien :)