Ich versuche, Maven zu verwenden, um ein Projekt zu erstellen, das auf einem JNI-Wrapper um die OpenCV-Computer-Vision-Bibliothek beruht. Ich konnte den OpenCV-Wrapper hier "mavenisieren": http://ubaa.net/shared/processing/opencv/ mit FreeHEPs NAR Maven-Plugin, aber die Dokumentation für dieses Plugin fehlt etwas.Verwenden von Maven zum Erstellen/Bereitstellen/Verwenden von Projekten mit JNI
Ich konnte ein Projekt (imagedetect) erstellen, das vom OpenCV jni Projekt abhängt (ich rufe das OpenCVJava). imagedetect wird kompiliert, jedoch schlägt jedes Test-, Integrationstest- oder Paketziel mit einem Fehler bezüglich Bibliotheken fehl, die in java.library.path fehlen.
!!! required library not found : no OpenCV in java.library.path
Verify that the java.library.path property is correctly set and 'libcxcore.so', 'libcv.so', 'libcvaux.so', 'libml.so', and 'libhighgui.so' are placed (or linked) in one of your system shared libraries folder
Dies ist besonders frustrierend - der einzige Weg, ich weiß, dass dies irgendwie zu lösen, ist die .nar-Datei für die opencv Bibliotheken ausfindig zu machen, sie manuell zu extrahieren, stellen Sie die java.library.path, und rufen Sie dann der Befehl gnaraly java, um die Tests/Anwendung tatsächlich mit dem richtigen Klassenpfad/Bibliothekspfad auszuführen. Dies wird nicht funktionieren - insbesondere, wenn dieses Problem bei transitiven Abhängigkeiten bestehen bleibt.
Wie kann ich dieses Build/Test/Execute System sauberer machen? Ich bin nicht auf FreeHEP eingestellt, aber ich möchte bei Maven bleiben, da es unsere häufigsten Anwendungsfälle viel einfacher macht.
FreeHEP Nar-Plugin: http://java.freehep.org/freehep-nar-plugin/intro.html
Haben Sie dieses mavenisierte opencv-Wrapper-Projekt auf einem Maven-Repo gehostet? Ich möchte diese Bibliothek benutzen. –