2015-01-30 10 views
3

Akka 포장으로 할 수있는 좋은 방법이 있는지 궁금합니다. sbt-native-packager Akka 빌드에 sigar 네이티브 라이브러리를 포함시키는 방법?

나는 몇 가지 예 here을 발견하지만, rpm 빌드 생성 내가 build.sbt 내에서이 두 플러그인을 사용하고 있습니다 :
.enablePlugins(AkkaAppPackaging) 
    .enablePlugins(UniversalPlugin) 

는 사실 내가하는 디렉토리에 수동으로 SIGAR 라이브러리를 복사하여 하나의 해결 방법을 알아 냈어 응용 프로그램 시작 스크립트가 생성됩니다.

또한 시가 라이브러리가있는 적절한 디렉토리에 -Djava.library.path=./sigar을 설정해야합니다. 을 변경하여 build.sbt에서 설정하거나 생성 된 스크립트에서 수동으로 나중에 변경할 수 있습니다. 여기

+0

이 객체가 수행

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

에서 수입해야 할 수도 있습니다. 문제를 설명해 주시겠습니까? lib 예제가 rpm 예제와 같이 추가되면 libs가 표시되지 않습니까? – Muki

+0

예, 나타나지 않았습니다. –

+0

하지만 다시 확인하겠습니다. 댓글 주셔서 감사합니다. –

답변

2

내가 내 자원 폴더에 SIGAR 파일을 배치

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 

참고 한 것입니다. 당신은 또한 또한 내가 종속성이있는 나는 RPM 솔루션뿐만 아니라 귀하의 경우에 유효해야

val sigar = Seq(
    "org.fusesource" % "sigar" % "1.6.4" 
)