【问题标题】:Compiling Java sources with Clojure deps.edn使用 Clojure deps.edn 编译 Java 源代码
【发布时间】:2020-08-12 12:48:04
【问题描述】:

如何配置我的 Clojure CLI deps.edn 文件以编译 Java 源文件以及我的 .clj Clojure 源文件?

我找到了badigeon,它可以编译 Java 源代码,但我在我的简单项目中很难使用。

【问题讨论】:

    标签: java clojure compilation


    【解决方案1】:

    在不了解您的上下文的情况下...

    目前执行此操作的“最佳”方法是将您的 Java 和 Clojure 源代码分成两个项目。在 Java 项目中,使用已编译的类创建一个 jar(使用标准 Java 工具 - 可能是 makejavac)并将 jar 安装到本地 maven 存储库中。然后将 jar 文件作为依赖项添加到 Clojure 项目的 deps.edn 中。

    您还可以通过使用deps.edn 中的local/root 功能直接使用该jar,而无需在本地安装。请参阅Deps Rationale 了解如何执行此操作。

    另一种方法是将 Java 源代码编译到组合(Java / Clojure)项目的 classes 子目录中,然后将 classes 目录添加到 :paths 键中的 @987654330 @。类文件的创建(再次)必须使用 Java 工具或 shell 脚本完成 - 在 clj 之外。

    clj 中的一些最新发展可能会在未来使这更容易。

    【讨论】:

      【解决方案2】:

      您现在可以通过 clojure.tools.build 做到这一点

      【讨论】:

        【解决方案3】:

        clj 不会那样做。

        lein 做了很多超出clj 命令行范围的事情。

        你可能会找到一些这样做的库,然后你可以打电话给clj -m lib-that-compiles-java

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-04-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-05-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多