【发布时间】:2020-08-12 12:48:04
【问题描述】:
如何配置我的 Clojure CLI deps.edn 文件以编译 Java 源文件以及我的 .clj Clojure 源文件?
我找到了badigeon,它可以编译 Java 源代码,但我在我的简单项目中很难使用。
【问题讨论】:
标签: java clojure compilation
如何配置我的 Clojure CLI deps.edn 文件以编译 Java 源文件以及我的 .clj Clojure 源文件?
我找到了badigeon,它可以编译 Java 源代码,但我在我的简单项目中很难使用。
【问题讨论】:
标签: java clojure compilation
在不了解您的上下文的情况下...
目前执行此操作的“最佳”方法是将您的 Java 和 Clojure 源代码分成两个项目。在 Java 项目中,使用已编译的类创建一个 jar(使用标准 Java 工具 - 可能是 make 和 javac)并将 jar 安装到本地 maven 存储库中。然后将 jar 文件作为依赖项添加到 Clojure 项目的 deps.edn 中。
您还可以通过使用deps.edn 中的local/root 功能直接使用该jar,而无需在本地安装。请参阅Deps Rationale 了解如何执行此操作。
另一种方法是将 Java 源代码编译到组合(Java / Clojure)项目的 classes 子目录中,然后将 classes 目录添加到 :paths 键中的 @987654330 @。类文件的创建(再次)必须使用 Java 工具或 shell 脚本完成 - 在 clj 之外。
clj 中的一些最新发展可能会在未来使这更容易。
【讨论】:
您现在可以通过 clojure.tools.build 做到这一点
【讨论】:
clj 不会那样做。
lein 做了很多超出clj 命令行范围的事情。
你可能会找到一些这样做的库,然后你可以打电话给clj -m lib-that-compiles-java
【讨论】: