scala - 在sbt原生打包程序Akka生成中,如何包括sigar本地库?

  显示原文与译文双语对照的内容
0 0

我只是好奇,是否有一些好的方法来做Akka包装。

我在这里找到了一些示例,但我在 build.sbt 中使用了这两个插件:

.enablePlugins(AkkaAppPackaging)
. enablePlugins(UniversalPlugin)

实际上,我通过手动将sigar库复制到应用程序启动器脚本的目录中来解决。

此外,还需要将 -Djava.library.path=./sigar 设置为适当的目录,其中sigar库位于其中,可以在生成的脚本中手动设置,也可以在以后的脚本中手动更改。

时间:原作者:4个回答

0 0

这就是我做

 lazy val sigarJavaOpts ="-Djava.library.path=./sigar"
 libraryDependencies ++= Dependencies.sigar
 mappings in Universal ++= MappingsHelper directory getClass.getClassLoader.getResource("sigar").getFile
 bashScriptExtraDefines += s"""addJava"$sigarJavaOpts""""
 javaOptions in run += sigarJavaOpts

请注意,我在资源文件夹中放置了sigar文件。 你还可能需要从下列内容中导入

import com.typesafe.sbt.SbtNativePackager.Universal
import com.typesafe.sbt.packager.MappingsHelper
import com.typesafe.sbt.packager.Keys.bashScriptExtraDefines 

我也有一个依赖对象,其中我有

 val sigar = Seq(
"org.fusesource" %"sigar" %"1.6.4"
 )
原作者:
...