【问题标题】:How can I create a jar from some Scala source code?如何从一些 Scala 源代码创建一个 jar?
【发布时间】:2011-04-04 00:41:57
【问题描述】:

如何从一些 Scala 源代码创建一个 jar?我想在我的 Clojure 项目中使用其中的一些代码。

有没有比this SO question 那样处理批处理文件更简单的方法?

谢谢, 亚历克斯

【问题讨论】:

    标签: scala intellij-idea jar clojure interop


    【解决方案1】:

    就您如何处理由其编译器生成的.class 文件而言,Scala 并没有什么特别之处。只需使用带有c 操作标志的jar 命令。

    但是,当您运行使用 Scala 编译的 .class 文件的程序时,您需要在类路径中包含 scala-library.jar 文件。并小心使用 scala-library.jar 用于/来自用于编译 Scala 源代码的同一个 Scala 开发工具包。到目前为止,Scala 生成的.class 文件还没有跨版本的二进制兼容性。

    【讨论】:

    • 所以如果我有一个 .class 文件就可以了?
    • 当然。如果你有一个目录(层次结构),里面装满了来自 Scala 的 .class 文件,你也可以把它的基名放在类路径中。从其他 JVM 代码的角度来看,它们确实没有什么特别之处。
    • 我无法让我的 Intellij Clojure 项目找到我从 Scala 项目中复制的 .class 文件。我想知道是不是因为我似乎无法在 Clojure 项目中找到任何 .class 文件。 Clojure 似乎在施展某种魔法。
    • @Alex:您确定在复制.class 文件时正确尊重了包结构吗?即使 Scala 不关心目录/包的对应关系(也不关心文件名/类名的对应关系),JVM 坚持目录层次结构(“松散的”.class 文件或 JAR 文件内容的)精确对应于.class 文件的包结构。
    【解决方案2】:

    创建 .jar 可以“更简单”的一种方法是使用 simple-build-tool,它支持 package* 目标,并且需要相当短的时间来设置和使用。

    【讨论】:

      【解决方案3】:

      您可以使用maven scala pluginbuildr 工具。

      【讨论】:

        【解决方案4】:

        这真的很有帮助

        如果您使用的是 Eclipse,那么只需将您的项目导出为 jar 文件

        转到文件 -> 导出 ->java -> 为 jar 文件

        再解释一下:

        1. typesafe安装scala eclipse环境
        2. 完成编码后,导出为 jar(文件 -> 导出 ->java -> 为 jar 文件)
        3. 您可以从命令行运行 java -cp path_to_dependancies:your_newly_generated_jar:。 your_main_object_name。

        第一次。

        【讨论】:

          猜你喜欢
          • 2012-02-22
          • 2017-07-15
          • 1970-01-01
          • 2021-12-07
          • 1970-01-01
          • 2014-07-07
          • 2020-12-31
          • 2015-01-19
          相关资源
          最近更新 更多