Emballage et déploiement des applications Scala
-
26-09-2019 - |
Question
Quel est le moyen le plus simple d'emballer une application Scala à utiliser sur un PC de bureau? Je suppose que ce serait sous la forme d'un fichier JAR.
Pour le moment, j'utilise SBT pour compiler et exécuter des programmes
Je serais intéressé par les solutions pour les machines qui ont installé Scala (et la bibliothèque de leur chemin de classe), ainsi que celles qui n'ont que Java.
La solution
La façon la plus simple (et la plus cohérente) d'emballer une application Scala, consiste à emballer dans un pot (comme vous le faites avec des applications Java normales). Tant que JAR se compose de classes Java compilées standard, vous pouvez exécuter un pot "Scala", même si vous n'avez pas Scala Runtime à la boîte (tout ce dont vous avez besoin est un Java Runtime et Scala-Lang.jar sur le chemin de classe). Vous pouvez spécifier la classe principale (passerelle vers les fonctionnalités de votre application) dans le manifaste
Main-Class: mypackage.MyClass
Pour que vous puissiez l'appeler en ne faisant passer un nom de Jar à java.exe.
java -jar myjar.jar
Tu peux Spécifiez la classe principale Dans la définition du projet SBT.
Autres conseils
http://www.scala-sbt.org/sbt-mative-packager/index.html
Le plugin vous permet d'emballer dans une variété de formats (Zip, Tar, Deb, DMG, MSI, etc.) et dans différents archtypes.