Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何在sbt中解析非jar(dll/jnilib)库依赖关系?_Scala_Sbt - Fatal编程技术网

Scala 如何在sbt中解析非jar(dll/jnilib)库依赖关系?

Scala 如何在sbt中解析非jar(dll/jnilib)库依赖关系?,scala,sbt,Scala,Sbt,在SBTbuild.SBT项目文件中,是否可以检索未绑定为jar的库依赖项 在我的例子中,我正在尝试使用which,它需要.dll和.jnilib库。要下载工件,需要让Ivy(以及sbt)明确地知道dll工件。将以下内容添加到项目中的build.sbt lazy val QtSampledJniLibArt = Artifact("qtsampledsp-osx", "jnilib", "jnilib") libraryDependencies += "com.tagtraum" % "qts

在SBT
build.SBT
项目文件中,是否可以检索未绑定为
jar
的库依赖项


在我的例子中,我正在尝试使用which,它需要
.dll
.jnilib
库。

要下载工件,需要让Ivy(以及sbt)明确地知道dll工件。将以下内容添加到项目中的
build.sbt

lazy val QtSampledJniLibArt = Artifact("qtsampledsp-osx", "jnilib", "jnilib")

libraryDependencies += "com.tagtraum" % "qtsampledsp-osx" % "0.9.6" artifacts(QtSampledJniLibArt)

resolvers += "beatunes" at "http://www.beatunes.com/repo/maven2"
然后您需要告诉sbt注意这些工件(同样
build.sbt
):

默认情况下,sbt只会向类路径中添加一些类型(其中不包括
jnilib
dll

由于类路径上需要这些DLL/JNILIB才能正确运行,因此上面添加其他类型的设置
classpathTypes
将纠正如下所示的问题(在sbt控制台中,不要忘记
重新加载


如果需要更详细地查看这些文件,请查看更新报告(从
update
任务中),从中可以检查所有配置/模块/工件。在sbt控制台中运行
show update
,并查看
target/resolution cache/reports

中的文件。请参见上的示例代码,但它有点笨拙,路径名操作部分特定于我们的项目。提供这篇文章,希望其他人能做出更好的回应。编辑得不错!我总是忘记提到在哪里添加代码:)。我总是很乐意提供帮助,而且我在编辑方面比自己写答案要好得多。让他们来,我的也会来:)
classpathTypes ++= Set("jnilib", "dll")
[sbt-0-13-1]> help classpathTypes
Artifact types that are included on the classpath.
[sbt-0-13-1]> show classpathTypes
[info] Set(eclipse-plugin, bundle, hk2-jar, orbit, jar)
[sbt-0-13-1]> show classpathTypes
[info] Set(eclipse-plugin, bundle, hk2-jar, jnilib, orbit, jar, dll)