Ответ 1
Чтобы загрузить артефакт, вам нужно сделать 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
):
classpathTypes ++= Set("jnilib", "dll")
По умолчанию sbt добавит только несколько типов в путь к классам (и 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)
Поскольку эти DLL/jnilibs необходимы для правильной работы класса, приведенный выше параметр classpathTypes
, где вы добавляете дополнительные типы, будет исправлять все, что вы можете видеть ниже (не забудьте reload
, когда в консоли sbt).
[sbt-0-13-1]> show classpathTypes
[info] Set(eclipse-plugin, bundle, hk2-jar, jnilib, orbit, jar, dll)
Если вам нужно более подробно изучить эти файлы, проверьте отчет об обновлении (из задачи update
), где вы можете проверить все конфигурации/модули/артефакты. Запустите show update
в консоли sbt и посмотрите файлы в target/resolution-cache/reports
.