Deployment 打包和部署Scala应用程序

Deployment 打包和部署Scala应用程序,deployment,scala,jar,packaging,sbt,Deployment,Scala,Jar,Packaging,Sbt,打包Scala应用程序以便在台式PC上使用的最简单方法是什么?我猜应该是jar文件的形式 目前,我正在使用SBT编译和运行程序 我对安装了Scala(以及类路径中的库)的机器以及只安装Java的机器的解决方案感兴趣。打包Scala应用程序最简单(也是最一致)的方法是打包到JAR中(就像普通Java应用程序一样)。只要JAR由标准编译的Java类组成,您就可以运行“Scala”JAR,即使您没有Scala运行时(您所需要的只是类路径上的Java运行时和Scala-lang.JAR)。您可以在man

打包Scala应用程序以便在台式PC上使用的最简单方法是什么?我猜应该是jar文件的形式

目前,我正在使用SBT编译和运行程序

我对安装了Scala(以及类路径中的库)的机器以及只安装Java的机器的解决方案感兴趣。

打包Scala应用程序最简单(也是最一致)的方法是打包到JAR中(就像普通Java应用程序一样)。只要JAR由标准编译的Java类组成,您就可以运行“Scala”JAR,即使您没有Scala运行时(您所需要的只是类路径上的Java运行时和Scala-lang.JAR)。您可以在manifast中指定主类(应用程序功能的网关)

Main-Class: mypackage.MyClass
这样您就可以只通过向java.exe传递一个JAR名称来调用它

java -jar myjar.jar
您可以在SBT项目定义中使用。


该插件允许您以多种格式(zip、tar、deb、dmg、msi等)和不同的ArchType进行打包。

我使用SBT中的“package”命令成功地实现了这一点。我认为您不知道如何在生成的jar文件中包含scala-library.jar?将jar放入src/main/resources中,并将其添加到类路径-->>override val manifestClassPath=Some(“scala library.jar”),但是,即使您将scala-library.jar打包到应用程序jar中,类加载器也不会引导它。为了使我上面提到的清单更新生效,您必须将scala-library.jar与您的jar放在同一个文件夹中。@SimonMorgan:晚了半年,但可能对其他人有用:您可能想尝试使用此插件在jar中包含依赖项: