Scala 如何在sbt native packager Akka build中包含sigar本机库?

Scala 如何在sbt native packager Akka build中包含sigar本机库?,scala,sbt,akka,sbt-native-packager,sigar,Scala,Sbt,Akka,Sbt Native Packager,Sigar,我只是好奇,是否有一些好的方法来做到这一点与阿克卡包装 我找到了一些示例,但它是为rpmbuild创建的,我在build.sbt中使用了这两个插件: .enablePlugins(AkkaAppPackaging) .enablePlugins(UniversalPlugin) 实际上,我找到了一个解决方法,将sigar库手动复制到生成应用程序启动程序脚本的目录中 还需要将-Djava.library.path=./sigar设置到sigar库所在的适当目录,这可以在build.sbt中设

我只是好奇,是否有一些好的方法来做到这一点与阿克卡包装

我找到了一些示例,但它是为
rpm
build创建的,我在
build.sbt
中使用了这两个插件:

.enablePlugins(AkkaAppPackaging)
  .enablePlugins(UniversalPlugin)
实际上,我找到了一个解决方法,将sigar库手动复制到生成应用程序启动程序脚本的目录中

还需要将
-Djava.library.path=./sigar
设置到sigar库所在的适当目录,这可以在
build.sbt
中设置,或者稍后在生成的脚本中手动更改,方法是更改
JAVA\u OPTS

以下是我所做的

  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"
  )

rpm解决方案也应适用于您的情况。你能描述一下你的问题吗?如果像rpm示例中那样添加LIB,它们是否没有显示?是的,它们没有显示。但我会再次检查。谢谢你的评论。