Windows上でJavaCVを使用しているSBTアプリケーションがあります。
私のbuild.sbtは、JavaCVとその依存関係を次のものを使って持ち込みます。
classpathTypes += "maven-plugin"
libraryDependencies += "org.bytedeco" % "javacv" % "0.9"
これは、JavaCVとその依存物(JavaCPP)を引っ張ります。しかし、プラットフォーム固有のライブラリ(opencv-windows-x86_64.jar)でJARを引っ張るのではありません。これでビルドできますが、java.library.pathの "UnsatisfiedLinkError:no 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 存在しません。
libディレクトリにopencv-windows-x86_64.jarをコピーすれば、すべてうまくいきますが、それは依存関係マネージャを使うことの意味を失います。
SBCでJavaCV 0.9のプラットフォーム固有のjarを正しく解決する方法を知っている人はいますか?
回答:
回答№1は0を使用する -Dplatform.dependencies=true
コマンドラインのオプションはトリックをする必要があります!
回答№2の場合は0
私はSBCプラグインを書き、OpenCVの依存関係処理(そう、プラットフォームの依存関係も含む)をワンライナーにしました。 https://github.com/lloydmeta/sbt-opencv
単にこれをあなたの project/plugins.sbt
:
addSbtPlugin("com.beachape" % "sbt-opencv" % "1.4")