J'ai une application SBT qui utilise JavaCV sous Windows.
Mon build.sbt apporte JavaCV et ses dépendances en utilisant:
classpathTypes += "maven-plugin"
libraryDependencies += "org.bytedeco" % "javacv" % "0.9"
Ceci tire JavaCV et ses dépendants (JavaCPP),mais il ne faut pas extraire le fichier JAR avec les bibliothèques spécifiques à la plate-forme (opencv-windows-x86_64.jar). Cela me permet de construire, mais le message "UnsatisfiedLinkError: no jniopencv_core dans java.library.path"
Basé sur http://www.warski.org/blog/2014/01/using-javacv-with-sbt J'ai aussi essayé
libraryDependencies += "org.bytedeco" % "javacv" % "0.9" classifier "windows-x86_64"
SBT ne parvient pas à résoudre cette dépendance car il recherche http://repo1.maven.org/maven2/org/bytedeco/javacv/0.9/javacv-0.9-windows-x86_64.jar qui n'existe pas.
Si je copie opencv-windows-x86_64.jar dans le répertoire lib, alors tout fonctionne, mais cela écarte le point d'utiliser un gestionnaire de dépendances.
Est-ce que quelqu'un sait comment SBT résoudre correctement les fichiers JAR spécifiques à la plate-forme pour JavaCV 0.9?
Réponses:
0 pour la réponse № 1En utilisant le -Dplatform.dependencies=true
l'option sur la ligne de commande devrait faire l'affaire!
0 pour la réponse № 2
J'ai écrit un plugin SBT pour rendre la gestion des dépendances OpenCV (oui, y compris les dépendances de plate-forme) en une ligne: https://github.com/lloydmeta/sbt-opencv
Ajoutez simplement ceci à votre project/plugins.sbt
:
addSbtPlugin("com.beachape" % "sbt-opencv" % "1.4")