如何从scala制作一个jar文件
How to make a jar file from scala
我在网上看到可以从 cli 运行 的 scala 代码创建一个 jar 文件。都写好了就是下面的代码。如何从中制作 jar 文件?我正在使用 sbt 0.13.7.
object Main extends App {
println("Hello World from Scala!")
}
您可以试试这个 SBT 插件:https://github.com/sbt/sbt-native-packager
我用这个插件创建了 Linux Debian 软件包(Windows MSI 应该也是可能的)。
为了能够使用 Scala 执行复杂的构建任务,您必须使用 SBT 作为构建工具:它是创建应用程序包的默认 scala 方式。要为您的项目添加 SBT 支持,只需在根文件夹中创建一个 build.sbt
文件:
name := "hello-world"
version := "1.0"
scalaVersion := "2.11.6"
mainClass := Some("com.example.Hello")
要用你的应用程序构建一个 jar 文件,以防你没有外部依赖项,你可以 运行 sbt package
它会用你的代码构建一个 hello-world_2.11_1.0.jar
文件,这样你可以 运行 它与 java -jar hello-world.jar
。但是您肯定必须在代码中包含一些依赖项,至少是因为 Scala 运行time.
使用 sbt-assembly 插件构建一个包含所有依赖项的 fat jar。要安装它,请添加一行
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.12.0")
到您的 project/plugins.sbt
文件(如果没有这样的文件则创建它)和来自控制台的 运行 sbt assembly
任务。
除了sbt
,还要考虑这个简单的命令行,
scalac hello.scala -d hello.jar
创建 jar 文件。 运行 它与
scala hello.jar
也可以通过添加此 header
来编写源代码脚本
#!/bin/sh
exec scala -savecompiled "[=12=]" "$@"
!#
并使用 Main.main(args)
调用主要方法(注意 chmod +x hello.sh
使文件可执行)。这里 savecompiled
将在第一次调用时创建一个 jar 文件。
sbt: publishLocal
然后转到目标文件夹,可能名为 scala-2.**
我在网上看到可以从 cli 运行 的 scala 代码创建一个 jar 文件。都写好了就是下面的代码。如何从中制作 jar 文件?我正在使用 sbt 0.13.7.
object Main extends App {
println("Hello World from Scala!")
}
您可以试试这个 SBT 插件:https://github.com/sbt/sbt-native-packager
我用这个插件创建了 Linux Debian 软件包(Windows MSI 应该也是可能的)。
为了能够使用 Scala 执行复杂的构建任务,您必须使用 SBT 作为构建工具:它是创建应用程序包的默认 scala 方式。要为您的项目添加 SBT 支持,只需在根文件夹中创建一个 build.sbt
文件:
name := "hello-world"
version := "1.0"
scalaVersion := "2.11.6"
mainClass := Some("com.example.Hello")
要用你的应用程序构建一个 jar 文件,以防你没有外部依赖项,你可以 运行 sbt package
它会用你的代码构建一个 hello-world_2.11_1.0.jar
文件,这样你可以 运行 它与 java -jar hello-world.jar
。但是您肯定必须在代码中包含一些依赖项,至少是因为 Scala 运行time.
使用 sbt-assembly 插件构建一个包含所有依赖项的 fat jar。要安装它,请添加一行
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.12.0")
到您的 project/plugins.sbt
文件(如果没有这样的文件则创建它)和来自控制台的 运行 sbt assembly
任务。
除了sbt
,还要考虑这个简单的命令行,
scalac hello.scala -d hello.jar
创建 jar 文件。 运行 它与
scala hello.jar
也可以通过添加此 header
来编写源代码脚本#!/bin/sh
exec scala -savecompiled "[=12=]" "$@"
!#
并使用 Main.main(args)
调用主要方法(注意 chmod +x hello.sh
使文件可执行)。这里 savecompiled
将在第一次调用时创建一个 jar 文件。
sbt: publishLocal
然后转到目标文件夹,可能名为 scala-2.**