Merci d'avance..
J'ai un projet qui utilise opencv-300.jar en tant que bibliothèque externe. J'ai essayé ceci dans Eclipse et dans natBeans. Dans les deux cas, cela fonctionne correctement lorsque j'exécute mon projet à partir de IDE lui-même. Je souhaite que mon projet l'exporte sous forme de fichier jar exécutable (ou exécutable). J’ai placé mon opencv_Java300.dll file dans le dossier source avec le fichier Java principal et son nom dans
System.loadLibrary("opencv_Java300");
J'ai placé opencv-300.jar dans des bibliothèques de fichiers jar externes et dans tous les autres fichiers nécessaires au programme principal. il fonctionne correctement lorsque vous exécutez à partir de IDE, mais lorsque je crée un fichier jar exécutable, il affiche une erreur.
Exception in thread "main" Java.lang.UnsatisfiedLinkError: no
opencv_Java300 in
Java.library.path
at Java.lang.ClassLoader.loadLibrary(Unknown Source)
at Java.lang.Runtime.loadLibrary0(Unknown Source)
at Java.lang.System.loadLibrary(Unknown Source)
at CropFaceImage.main(CropFaceImage.Java:27)
Dites-moi s'il vous plaît. Est-il possible de donner le programme Java.library.path in lui-même? Mon projet fonctionne avec succès même lorsque j'ai supprimé le chemin d'accès à opencv_Java300.dll fichier dans une bibliothèque externe.
J'ai essayé de passer la commande contenant le chemin pour opencv mais je n'ai trouvé aucun autre moyen. D'une certaine manière, j'ai essayé quelque chose qui a créé mon pot et il fonctionne correctement. J'ai copié le fichier opencv_Java300.dll et l'ai placé dans le répertoire qui se trouve à côté du fichier my jar, de même pour tous les fichiers de support. J'ai utilisé le code suivant pour le faire.
String opencvpath = System.getProperty("user.dir") + "\\files\\";
String libPath = System.getProperty("Java.library.path");
System.load(opencvpath + Core.NATIVE_LIBRARY_NAME + ".dll");
Vous pouvez utiliser un argument de ligne de commande comme ci-dessous et appeler votre classe qui a le
Java -Djava.library.path="Folder which contains your dll" ....
J'ai eu le même problème, résolu en changeant la bibliothèque système JRE. Il semble que le problème ne se produise que si vous utilisez jre1.8.0_65. Tout a bien fonctionné chez moi avec jre1.8.0_25, jre1.8.0.45 et jre1.8.0.66
J'ai pu corriger l'erreur en supprimant ma System.loadLibrary("opencv_Java300");
du code et en ajoutant le fichier jar au chemin de classe dans mon build.xml:
<jar destfile="program.jar" basedir="build/classes">
<manifest>
<attribute name="Main-Class" value="com.src.program"/>
<attribute name="Class-path" value="opencv-300.jar"/>
</manifest>
</jar>
J'ai résolu mon problème lorsque j'ai configuré la bibliothèque native dans Eclipse . Vous devez choisir une bibliothèque référençant votre plate-forme OS.
Regardez ici: ajouter openCV au chemin de construction Java dans Eclipse .