2015-09-30 108 views
5

顯然,項目的依賴沒有被打包裝入壇內所產生的JAR依賴關係:包括使用SBT包

sbt package 

如何依賴是否包括在內?

+0

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

+1

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

+0

@dmitry Spark有問題。 Stackoverflow加載了類似的互操作問題。 – BAR

回答

3

有一個名爲onejar的項目,將項目及其所有依賴項打包到一個jar文件中。有一個SBT插件以及:

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

不過,如果你只是希望創建一個標準軟件包(DEB,RPM等)有SBT-本機打包:

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

它可以將所有的依賴關係放入Linux包中,並添加適當的包裝來加載所有依賴關係並啓動程序或服務。

6

好吧,我用sbt-assembly插件創建具有依賴性的罐子,

1)添加sbt-assemblyprojects/assembly.sbt

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

2)運行sbt clean assembly打造的罐子,這將在target/scala-${scalaVersion}創建${name}-assembly-${version}.jar

+0

請注意,sbt -assembly不可用於scala 2.11(並且永遠不會) – HansHarhoff