【问题标题】:Creating Single file Runnable Jars in Scala with Eclipse使用 Eclipse 在 Scala 中创建单个文件可运行的 Jar
【发布时间】:2011-06-14 13:13:02
【问题描述】:

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

快速的 Google 会显示这样的结果 ..

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

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

感谢您的宝贵时间。

伊恩

【问题讨论】:

    标签: eclipse scala


    【解决方案1】:

    在 Scala 2.9.1 中,您可以像这样简单地创建一个 .java 文件,以便能够利用 Eclipse 的 Create Runnable JAR 功能:

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

    【讨论】:

    • 完美。在导出 JAR 之前,您需要选择此类并作为 Java 应用程序运行以创建启动配置
    【解决方案2】:

    如果您碰巧使用 sbt 进行构建,那么您可以使用 assembly-sbt 插件。我们在 Yammer 使用它来构建我们基础设施服务的胖 JAR。我们(逐渐)切换到使用 maven 和 shade plugin。我相信 shade 在合并 JAR 方面比 assembly-sbt 做得更聪明。然而,到目前为止,我们在 assembly-sbt 方面取得了巨大的成功。

    【讨论】:

    • 感谢所有回复的人。我得到了三个很好的答案,可惜我只能选择一个。我之所以选择这个是因为它提到了我尝试过的 Shade 插件,而且一切似乎都运行良好。
    【解决方案3】:

    不是 Eclipse 特定的,但我会使用带有 Proguard 插件的 sbt:https://github.com/siasia/xsbt-proguard-plugin

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

    【讨论】:

      【解决方案4】:

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

      几乎所有使用 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-05
        • 1970-01-01
        • 2013-07-27
        • 1970-01-01
        • 1970-01-01
        • 2010-12-03
        • 1970-01-01
        相关资源
        最近更新 更多