Question

What is the simplest way to package a Scala application for use on a desktop PC? I'm guessing that would be in the form of a jar file.

At the moment I'm using SBT to compile and run programs

I'd be interested in solutions for machines that have Scala installed (and the library in their classpath), as well as those that only have Java.

Was it helpful?

Solution

The simplest (and the most consistent) way to package a Scala application, is packaging into a JAR (like you do with normal Java applications). As long as JAR consists of standard compiled Java classes, you may run "Scala" JAR, even if you don't have Scala runtime at the box (all you need is a Java Runtime and scala-lang.jar on the classpath). You may specify the main class (gateway to functionalities of your application) in the manifast

Main-Class: mypackage.MyClass

so that you'll be able to call it only passing a JAR name to java.exe.

java -jar myjar.jar

You may specify the main class in SBT project definition.

OTHER TIPS

http://www.scala-sbt.org/sbt-native-packager/index.html

The plugin allows you to package in a variety of formats(zip, tar, deb, dmg, msi, etc) and in different archtypes.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top