java - créer - rendre un fichier jar executable




Exportation vers JAR exécutable avec des bibliothèques de code natives supplémentaires dans Eclipse (3)

Ceci est relativement difficile à mettre en œuvre. Les solutions que j'ai vues impliquent l'extraction des bibliothèques natives dans le JAR vers un répertoire temporaire du système d'exploitation, puis le chargement. J'irais chercher une solution intégrée pour cela. Un Jar et Java Class Loader le supportent, et sur la deuxième page vous trouverez des liens vers des outils similaires.

J'ai du mal à exporter mon projet java depuis eclipse en tant que fichier exécutable jar. Mon projet Java utilise une bibliothèque externe (appelée jri). J'ai exporté le fichier jri.jar et défini le chemin de bibliothèque pour sa bibliothèque native dans eclipse, et cela fonctionne très bien dans le développement d'eclipse. Cependant, lorsque je l'exporte en tant que fichier jar exécutable, j'obtiens l'erreur suivante:

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

J'ai placé un dossier appelé lib dans le même répertoire que le jar de mon projet; Ce dossier lib contient la bibliothèque native de jri. La bibliothèque native de jri n'est pas dans un fichier mais dans un dossier. C'est la même configuration que j'ai en éclipse.

La façon dont j'exporte mon projet dans eclipse est

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

Et mon dossier est organisé comme ça

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

Le fichier MANIFEST.MF de mon projet.jar est:

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

Ce que je veux réaliser est de donner à un autre utilisateur un dossier incluant project.jar et toute autre chose nécessaire pour qu'il puisse l'exécuter sans avoir besoin d'installer quoi que ce soit d'autre. Merci beaucoup


Vous pouvez mettre les bibliothèques dans votre pot:

Exportation...

Java> Fichier JAR exécutable

Paquetage des bibliothèques requises dans le fichier Jar généré

terminer

J'exporte toujours de cette façon. Je ne sais pas si cela fonctionnera dans votre cas, mais ça vaut le coup d'essayer.

Modifier:

Voir ces liens:

Ma conjecture est que cela a quelque chose à voir avec LD_LIBRARY_PATH pas correctement été défini. Ou le fichier qu'il recherche n'est pas dans le chemin indiqué.


Vous savez que j'ai eu les mêmes problèmes

Could not extract native JNI library.

tout ce qui précède ne peut pas m'aider. Je ne pouvais pas m'arrêter et démarrer Gradle Deamon en utilisant la commande suivante:

gradle --stop

J'ai vu que Gradle Deamon ne s'est toujours pas arrêté dans mes processus. C'est pourquoi je le tue dans mon processus et tout ira bien :)





nativelibrary