Getting JavaCV 0.9 platform binaries to download automatically with SBT

梦想与她 提交于 2019-12-11 20:48:06

问题


I have an SBT application that is using JavaCV on Windows.

My build.sbt brings in JavaCV and its dependencies using:

classpathTypes += "maven-plugin"

libraryDependencies += "org.bytedeco" % "javacv" % "0.9"

This pulls JavaCV and its dependents (JavaCPP), but it isn't pulling the JAR with the platform specific libraries (opencv-windows-x86_64.jar). This allows me to build, but I get "UnsatisfiedLinkError: no jniopencv_core in java.library.path"

Based on http://www.warski.org/blog/2014/01/using-javacv-with-sbt I also tried

libraryDependencies += "org.bytedeco" % "javacv" % "0.9" classifier "windows-x86_64"

SBT fails trying to resolve that dependency because it is looking for http://repo1.maven.org/maven2/org/bytedeco/javacv/0.9/javacv-0.9-windows-x86_64.jar which doesn't exist.

If I copy opencv-windows-x86_64.jar to the lib directory then everything works, but that defeats the point of using a dependency manager.

Does anyone know how to make SBT properly resolve the platform specific jars for JavaCV 0.9?


回答1:


Using the -Dplatform.dependencies=true option on the command line should do the trick!




回答2:


I wrote an SBT plugin to make OpenCV dependency handling (yes, including platform dependencies) a one liner: https://github.com/lloydmeta/sbt-opencv

Simply add this to your project/plugins.sbt:

addSbtPlugin("com.beachape" % "sbt-opencv" % "1.4")


来源:https://stackoverflow.com/questions/25127318/getting-javacv-0-9-platform-binaries-to-download-automatically-with-sbt

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!