2015-09-30 14 views
5

Rõ ràng phụ thuộc dự án không được đóng gói vào jar được tạo ra bởi:Bao gồm Dependencies trong JAR sử dụng SBT gói

sbt package 

Làm thế nào phụ thuộc có thể được bao gồm?

+0

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

+1

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

+0

@dmitry Có vấn đề với Spark. Stackoverflow được tải với các vấn đề tương tự interop. – BAR

Trả lời

3

Có một dự án được gọi là onejar sẽ đóng gói một dự án và tất cả các phụ thuộc của nó vào một tệp jar duy nhất. Có một plugin của SBT cũng như:

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

Tuy nhiên, nếu bạn chỉ cần tìm cách để tạo ra một gói phần mềm tiêu chuẩn (deb, rpm, vv) có SBT-địa-đóng gói:

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

Nó có thể đặt tất cả các phụ thuộc của bạn vào gói Linux và thêm trình bao bọc phù hợp để tải tất cả các phụ thuộc của bạn và bắt đầu chương trình hoặc dịch vụ của bạn.

6

Vâng, tôi sử dụng sbt-assembly plugin để tạo jar với phụ thuộc,

1) thêm sbt-assembly để projects/assembly.sbt

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

2) chạy sbt clean assembly để xây dựng jar, mà sẽ tạo ${name}-assembly-${version}.jar trong target/scala-${scalaVersion}

+0

Lưu ý rằng sbt -Sử dụng không có sẵn cho scala 2,11 (và sẽ không bao giờ) – HansHarhoff

Các vấn đề liên quan