Export-Scala-Anwendung zu runnable JAR
Können Sie mir sagen, ob dies möglich ist, so exportieren Sie eine Scala-Anwendung zu einem normalen runnable JAR ausgeführt werden können, direkt in die JVM ?
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist durchaus möglich, siehe zum Beispiel diesen: läuft maven-scala-Projekt. Da Scala kompiliert zu Java-bytecode, JVM ist auch nicht bewusst von der zugrunde liegenden Implementierung der Sprache.
Im wesentlichen nach dem kompilieren Scala-Quellen über
scalac
Sie bekommen eine Menge von.class
Dateien, die Sie später package in ein JAR. Dann können Sie einfach starten Sie mit:Beachten Sie, dass Sie muss gehören
scala-library.jar
auf den KLASSENPFAD (derzeit ist es fast 9 MiB...) und geben Sie die Klasse mitmain
Methode.Wenn Sie sbt zu bauen, können Sie eine der one-jar-plugins. Sie wird alle dependencys in ein großes jar-Datei (inklusive aller scala.jar -Dateien). Dies bedeutet, dass Sie brauchen nur eine jar Datei und nicht zu verwalten alle dependencys.
Als Beispiel mit sbt-Montage (größtenteils kopiert von https://github.com/sbt/sbt-assembly):
project/plugins.sbt:
bauen.sbt:
dann können Sie erzeugen die jar mit:
Als alternative zu Fabians Antwort, wenn Sie mit Maven, Sie können mit dem assembly-plugin. So etwas wie:
Dass Paket alle Ihre deps-up, einschließlich scala-library.jar (wenn es in deiner deps), wird aber so abgeflacht mit allen Klassen ausgepackt. Dies ist, weil runnable jar ist nicht out of the box verwenden Sie den code in jar-Dateien in die jar.
Machen, dass die Arbeit (die ist schöner), verwenden Sie http://code.google.com/p/onejar-maven-plugin/, ich denke, es ist ein Maven-mojo-wrapper zu one-jar: http://one-jar.sourceforge.net/
Gibt es auch eine sbt-plugin one-jar:
https://github.com/sbt/sbt-onejar
Um-Paket einer swing-Anwendung in ein runnable jar, die Lösung, die für mich gearbeitet wurde, um den export meinem Projekt als normalen jar - Datei (nicht ausführbare) und aktualisieren Sie die jar ' s manifest zu:
Finden Sie die Manifest-Datei innerhalb der jar-Datei (, die Sie öffnen können mit 7z zum Beispiel) auf den folgenden Pfad:
Fügen Sie die folgenden Zeilen am Ende der manifest:
Nun Ihr Glas sollte ordnungsgemäß ausgeführt, wenn Sie auf Sie klicken.
HINWEIS: Sie finden weitere Informationen über die manifest-customizing hier:
http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html.
Hers ist meine Lösung, maven -->erstellen
scala
runnable jar.