2010-06-11 21 views
19

Masaüstü bilgisayarda kullanmak için bir Scala uygulamasının paketlenmesinin en basit yolu nedir? Sanırım bu bir kavanoz dosyası biçiminde olurdu. Ben SBT derlemeye kullanıyorum anda Scala Uygulamalarının Paketlenmesi ve Dağıtılması

ve programları çalıştırmak

Ben Scala yüklü makinelerde (ve onların sınıf yolunda kütüphanede) çözümleri ile ilgilenen, hem de sadece sahip olanlar olarak olurdu Java.

cevap

9

Scala uygulamasını paketlemenin en basit (ve en tutarlı) yolu, bir JAR'a (normal Java uygulamalarında yaptığınız gibi) paketlemektir. JAR standart derlenmiş Java sınıflarından oluştuğu sürece, Scala çalışma zamanı kutucuğunuz olmasa bile "Scala" JAR çalıştırabilirsiniz (tek ihtiyacınız olan bir Java Runtime ve scala-lang.jar sınıf yolundadır). Yalnızca java.exe bir JAR adını geçirmeden diyoruz mümkün olacak, böylece manifast

Main-Class: mypackage.MyClass 

içinde (uygulamanızın işlevleri için ağ geçidi) ana sınıf belirleyebilir. SB1 proje tanımında specify the main class olabilir.

+0

SBT'deki "paket" komutunu kullanarak bu kadar uzaklaşmayı başardım. Sonuçta oluşan jar dosyasına scala-library.jar dosyasının nasıl ekleneceğini biliyor musunuz? –

+1

JAR'ı src/main/resources içine koyun ve sınıf yoluna ekleyin - >> override val manifestClassPath = Bazı ("scala-library.jar") –

+0

Ancak, uygulamanıza scala-library.jar paketini verseniz bile jar, classloader tarafından önyüklenmeyecek. Yukarıda bahsettiğim manifest güncellemesini yapmak için, scala-library.jar'i jar ile aynı klasöre koymanız gerekecek. –