我来这里寻求帮助自动化一个过程我没有看到任何其他解决方案而不是手动执行。
在我的一个项目中,我有以下依赖项:
libraryDependencies ++= Seq(
"org.lwjgl" % "lwjgl" % "3.0.0a",
"org.lwjgl" % "lwjgl-platform" % "3.0.0a" classifier "natives-windows" classifier "natives-linux" classifier "natives-osx"
)
这会下载每个平台的实际.jar和本机。以这种方式发展是没有问题的。所有的依赖都在那里,所有的类都被找到了。
但正在编译并运行该应用程序结果是主要的问题,正如您所获得的那样:
java.lang.UnsatisfiedLinkError:java.library.path中没有lwjgl
现在我做的不仅仅是次优,它实际上违背了使用托管库的全部目的:我手动将jar和本机复制到lib
目录,这是(默认情况下)sbt默认位置对于非托管库。
但如果我手动移动它,我也可以手动下载它并将其完全从sbt
文件中删除。不是我想做的事。
如何自动完成此过程?一般来说,我想到了两个想法,但不知道如何正确地将它们翻译为sbt
:
-Djava.library.path
设置为路径
依赖关系位于。这条路径不同于操作系统和操作系统
当然,我希望能够将项目实际导出为
有一天 runnable jar
;)没有重大缺点或再次复制。lib
- 文件夹。我不可能是唯一一个与此斗争的人(或者好吧,也许我是)但我发现的只有两个“解决方案”:
目前不支持SBT版本0.13。
远远低于次优(再次):(
还有什么想法吗?我无法想象没有人必须与当地人打交道!