Bonjour,
J'ai un problème de chargement de librairies JNI. Dans mon cas il s'agit de celles de scilab.
En pratique, j'inclus un de leurs jars dans mon projet (org.scilab.modules.graphic_export.jar). Dans une de mes classes java, j'ai un appel tout simple à cette api :
Cela se passe sans problème si je modifie la variable d'environnement système PATH en ajoutant le répertoire bin de l'install de scilab. Ce que j'essaie de faire maintenant est de faire marcher ça sans cette horrible mise à jour du PATH. J'ai modifié java.library.path, mais sans succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part GL2PS.GL2PS_BEST_ROOT
Voilà l'erreur que je me prends à chaque fois :
Je ne sais pas si je m'y prends bien car je ne suis que novice sous JNI. J'aimerais in fine pouvoir inclure ces libs dans un package distribuable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 The native library scigraphic_export does not exist or cannot be found. java.lang.UnsatisfiedLinkError: C:\Program Files\scilab-5.1\bin\scigraphic_export.dll: Can't find dependent libraries at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1778) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1703) at java.lang.Runtime.loadLibrary0(Runtime.java:823) at java.lang.System.loadLibrary(System.java:1030) at org.scilab.modules.graphic_export.jni.GL2PSConstantJNI.<clinit>(Unknown Source) at org.scilab.modules.graphic_export.jni.GL2PSConstant.get_GL2PS_MAJOR_VERSION(Unknown Source) at org.scilab.modules.graphic_export.GL2PS.<clinit>(Unknown Source) at graphics.ScilabTester.main(ScilabTester.java:13)
edit :
Oui, il y a bien d'autres dlls, mais si ça marche en ajustant la variable PATH, pourquoi est-ce que ça ne passe pas avec java.library.path ?![]()
Partager