[英]How to include sigar native libraries in sbt-native-packager Akka build?
I'm just curious if there is some nice way to do that with Akka packaging. 我很好奇是否有一些很好的方法与Akka包装做到这一点。
I found some examples here , but it was created for rpm
build and I'm using these two plugins in my build.sbt
: 我在这里找到了一些例子,但它是为
rpm
构建而创建的,我在build.sbt
使用了这两个插件:
.enablePlugins(AkkaAppPackaging)
.enablePlugins(UniversalPlugin)
Actually I figured out one workaround by copying sigar libraries manually to directory where application starter script is generated. 实际上,我通过手动将sigar库复制到生成应用程序启动脚本的目录来找出一种解决方法。
There is also a need to set -Djava.library.path=./sigar
to appropriate directory where sigar libraries are located, this can be set in build.sbt
or changed later manually in generated scripts, by changing the JAVA_OPTS
. 还需要将
-Djava.library.path=./sigar
为sigar库所在的适当目录,这可以在build.sbt
设置,或者稍后在生成的脚本中手动更改,方法是更改JAVA_OPTS
。
Here is what I did 这就是我做的
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
Note that I placed sigar files in my resources folder. 请注意,我将sigar文件放在我的资源文件夹中。 You might also need to import from the following
您可能还需要从以下内容导入
import com.typesafe.sbt.SbtNativePackager.Universal
import com.typesafe.sbt.packager.MappingsHelper
import com.typesafe.sbt.packager.Keys.bashScriptExtraDefines
Also I do have a Dependencies object in which I have 我也有一个Dependencies对象
val sigar = Seq(
"org.fusesource" % "sigar" % "1.6.4"
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.