使用Eclipse在Scala中创建单个文件Runnable Jars

时间:2011-06-14 13:13:02

标签: eclipse scala

有人能告诉我如何使用Eclipse和Scala 2.9.x从Scala程序创建可运行的JAR文件吗?

快速的谷歌会带来这样的结果..

http://garyboone.com/2009/06/creating-single-file-runnable-jars-in-scala-and-eclipse/

使用Java类来调用Scala main,但它似乎不适用于Scala 2.9。

感谢您的时间。

伊恩

4 个答案:

答案 0 :(得分:13)

在Scala 2.9.1中,您只需创建一个这样的.java文件即可使用Eclipse的Create Runnable JAR功能:

public class ScalaRunner {
    public static void main(String[] args) {
        Main.main(args);
    }
}

答案 1 :(得分:2)

如果您正在使用sbt进行构建,那么您可以使用assembly-sbt插件。我们在Yammer使用它来构建基础设施服务的胖JAR。我们(逐渐)切换到使用maven和shade plugin。我认为使用shade比使用assembly-sbt更智能地合并JAR。但是,到目前为止,我们已经使用assembly-sbt取得了巨大的成功。

答案 2 :(得分:1)

不是特定于Eclipse的,但我会将sbt与Proguard插件一起使用:https://github.com/siasia/xsbt-proguard-plugin

这使您可以在不依赖Eclipse或类似IDE的情况下设置可重用的构建。

答案 3 :(得分:1)

Proguard是一个创建可执行jar的好工具 - 如果你没有使用sbt(如果是这样,使用其他人建议的sbt-proguard-plugin)从eclipse中构建可执行jar的标准方法会是构建一个ant构建文件,然后从eclipse中引用该构建。

几乎所有使用scala的Android开发人员都使用proguard,你会发现很多关于这个的文档。

这是关于创建ant任务的proguard文档: http://proguard.sourceforge.net/index.html#/manual/ant.html

此页面中有关scala IDE wiki的android开发的第4步有将ant构建文件添加到eclipse的具体步骤。

http://www.assembla.com/wiki/show/scala-ide/Developing_for_Android