使用SBT自动下载JavaCV 0.9平台二进制文件

时间:2014-08-04 20:50:47

标签: sbt javacv

我有一个在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?

2 个答案:

答案 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")