2015-09-30 13 views
5

Anscheinend Projektabhängigkeiten werden durch nicht in das Glas erzeugt verpackt:Fügen Sie Abhängigkeiten in JAR mit SBT Paket

sbt package 

Wie Abhängigkeiten einbezogen werden können?

+0

https://github.com/sbt/sbt-assembly – dmitry

+1

http://www.scala-sbt.org/sbt-native-packager/ – Aaron

+0

@dmitry Hat Probleme mit Spark. Stackoverflow ist mit ähnlichen Interop-Problemen geladen. – BAR

Antwort

3

Es gibt ein Projekt mit dem Namen onejar, das ein Projekt und alle seine Abhängigkeiten in eine einzige jar-Datei packen wird. Es gibt eine SBT-Plugin auch:

https://github.com/sbt/sbt-onejar

aber wenn Sie nur ein Standardpaket zu erstellen suchen (deb, rpm, etc.) gibt es SBT-native-Verpacker:

https://github.com/sbt/sbt-native-packager

Sie können alle Ihre Abhängigkeiten in ein Linux-Paket einfügen und die entsprechenden Wrapper hinzufügen, um alle Ihre Abhängigkeiten zu laden und Ihr Programm oder Ihren Dienst zu starten.

6

Nun verwende ich sbt-assembly Plugin jar mit Abhängigkeiten zu erstellen,

1) hinzufügen sbt-assembly zu projects/assembly.sbt

echo 'addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.3")' > project/assembly.sbt 

2) sbt clean assembly führen Sie das Glas zu bauen, die ${name}-assembly-${version}.jar in target/scala-${scalaVersion} schaffen

+0

Beachten Sie, dass sbt -Montage ist für scala 2.11 nicht verfügbar (und wird es nie sein) – HansHarhoff

Verwandte Themen