我有一个在Windows上使用JavaCV的SBT应用程序。
我的build.sbt使用:
引入JavaCV及其依赖项classpathTypes += "maven-plugin"
libraryDependencies += "org.bytedeco" % "javacv" % "0.9"
这会拉动JavaCV及其依赖项(JavaCPP),但它并没有使用特定于平台的库(opencv-windows-x86_64.jar)来提取JAR。这允许我构建,但我得到“UnsatisfiedLinkError:java.library.path中没有jniopencv_core”
基于http://www.warski.org/blog/2014/01/using-javacv-with-sbt,我也试过
libraryDependencies += "org.bytedeco" % "javacv" % "0.9" classifier "windows-x86_64"
SBT未能尝试解决该依赖关系,因为它正在寻找不存在的http://repo1.maven.org/maven2/org/bytedeco/javacv/0.9/javacv-0.9-windows-x86_64.jar。
如果我将opencv-windows-x86_64.jar复制到lib目录,那么一切正常,但是这使得使用依赖管理器失败了。
有谁知道如何让SBT正确解析JavaCV 0.9的平台特定jar?
答案 0 :(得分:0)
在命令行中使用-Dplatform.dependencies=true
选项应该可以解决问题!
答案 1 :(得分:0)
我编写了一个SBT插件,使OpenCV依赖项处理(是的,包括平台依赖项)成为一个问题:https://github.com/lloydmeta/sbt-opencv
只需将其添加到您的project/plugins.sbt
:
addSbtPlugin("com.beachape" % "sbt-opencv" % "1.4")