2015-09-30 15 views
5

Apparentemente dipendenze del progetto non vengono confezionati in vaso generati da:Includi dipendenze in vaso utilizzando pacchetto SBT

sbt package 

Come può dipendenze essere inclusi?

+0

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

+1

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

+0

@dmitry Ha problemi con Spark. StackOverflow è caricato con problemi di interoperabilità simili. – BAR

risposta

3

C'è un progetto chiamato onejar che impacchetterà un progetto e tutte le sue dipendenze in un singolo file jar. V'è un plugin SBT così:

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

Tuttavia, se si sta solo cercando di creare un pacchetto standard (deb, rpm, ecc) c'è SBT-native-packager:

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

Può collocare tutte le dipendenze in un pacchetto Linux e aggiungere i wrapper appropriati per caricare tutte le dipendenze e avviare il programma o il servizio.

6

Beh, io uso sbt-assembly plugin per creare vaso con le dipendenze,

1) aggiungere sbt-assembly a projects/assembly.sbt

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

2) correre sbt clean assembly per costruire il vaso, che creerà ${name}-assembly-${version}.jar in target/scala-${scalaVersion}

+0

Nota che sbt -assemblaggio non è disponibile per scala 2.11 (e mai lo sarà) – HansHarhoff

Problemi correlati