2015-01-30 2 views
3

Мне просто интересно, есть ли хороший способ сделать это с упаковкой Akka.Как включить собственные библиотеки sigar в sbt-native-packager Akka build?

Я нашел несколько примеров here, но он был создан для rpm сборки, и я использую эти два плагина в моем build.sbt:

.enablePlugins(AkkaAppPackaging) 
    .enablePlugins(UniversalPlugin) 

На самом деле я понял, один обходной путь копирования библиотек SIGAR вручную в папку где генерируется сценарий запуска приложения.

Существует также необходимость установить -Djava.library.path=./sigar в соответствующий каталог, где библиотеки SIGAR расположены, это может быть установлены в build.sbt или изменены позже вручную в скриптах, изменяя JAVA_OPTS.

+0

Решение оборотов должно быть действительным для вашего случая. Можете ли вы описать свою проблему? Не появляются ли libs, если вы добавляете их, как в примере rpm? – Muki

+0

Да, они не появлялись. –

+0

Но я еще раз проверю. Спасибо за комментарий. –

ответ

2

Вот что я сделал

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

 Смежные вопросы

  • Нет связанных вопросов^_^