Wie man aus Scala eine JAR-Datei erstellt

9

Ich komme aus einem c-Hintergrund. Ich bin also extrem neu. In c, als ich meinen Code erstellte, verwendeten Codeblocks eine .exe-Datei für mich. Ich programmiere jetzt in scala. Ich habe online gelesen, dass es möglich ist, eine JAR-Datei aus Scala-Code zu erstellen, die vom CLI ausgeführt werden könnte. Alle haben geschrieben ist der folgende Code. Wie erstelle ich eine JAR-Datei daraus? Ich verwende sbt 0.13.7.

%Vor%     
eddard.stark 01.06.2015, 14:32
quelle

3 Antworten

12

Um komplexe Build-Aufgaben mit Scala ausführen zu können, müssen Sie SBT als Build-Tool verwenden: Es ist ein Standard-Scala-Weg zum Erstellen von Anwendungspaketen. Um Ihrem Projekt SBT-Unterstützung hinzuzufügen, erstellen Sie einfach eine build.sbt -Datei im Stammordner:

%Vor%

Um eine JAR-Datei mit Ihrer Anwendung zu erstellen, falls Sie keine externen Abhängigkeiten haben, können Sie sbt package ausführen und eine hello-world_2.11_1.0.jar -Datei mit Ihrem Code erstellen, so dass Sie sie mit java -jar hello-world.jar ausführen können. Aber Sie müssen zumindest aufgrund einer Scala-Laufzeit einige Abhängigkeiten in Ihren Code einbauen.

Verwenden Sie das sbt-assembly Plug-in, um ein fettes jar mit all Ihren Abhängigkeiten zu erstellen. Um es zu installieren, fügen Sie eine Zeile hinzu

%Vor%

zu Ihrer project/plugins.sbt -Datei (und erstellen Sie sie, wenn es keine solche Datei gibt) und führen Sie sbt assembly task von der Konsole aus.

    
shutty 01.06.2015, 14:49
quelle
9

Beachten Sie zusätzlich zu sbt auch diese einfache Befehlszeile

%Vor%

erstellt die JAR-Datei. Führen Sie es mit

aus %Vor%

Es ist auch möglich, den Quellcode durch Hinzufügen dieses Headers zu skripten

%Vor%

und Aufruf der Hauptmethode mit Main.main(args) (beachten Sie chmod +x hello.sh , um die Datei ausführbar zu machen). Hier wird savecompiled eine JAR-Datei beim ersten Aufruf erstellen.

    
elm 01.06.2015 19:14
quelle
3

Sie können dieses SBT-Plugin ausprobieren: Ссылка

Ich habe Linux Debian Pakete mit diesem Plugin erstellt (Windows MSI sollte auch möglich sein).

    
leshkin 01.06.2015 14:36
quelle

Tags und Links