我想将clojure库导入基于Maven的Java 11应用程序中。使用的clojure版本主要是1.8+,使用启动进行构建。我可以在语言版本上保持灵活性,但是必须对clojure使用boot。
我已经阅读了一些内容,但是我找不到任何最新的解决方案,而且都不使用引导。鉴于它们都是JVM语言,我希望这不会太复杂,但不确定从哪里开始。
答案 0 :(得分:0)
使用简单的Maven,您应该足以检索任何Clojure依赖项,因为它支持添加不同的软件包源。您只需要在托管Clojure软件包的地方添加另一个仓库:
<repositories>
<repository> <!-- You probably have this already -->
<id>central</id>
<url>https://repo1.maven.org/maven2/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository><!-- You'll need to add this -->
<id>clojars</id>
<url>https://repo.clojars.org/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
要在Maven中添加更多依赖项,可以在Clojars或Maven Repository中搜索Clojure软件包。例如,这是clj-time库的Maven存储库中的条目:https://mvnrepository.com/artifact/clj-time/clj-time/0.15.1
在Maven中添加该依赖项的相关位为:
<dependency>
<groupId>clj-time</groupId>
<artifactId>clj-time</artifactId>
<version>0.15.1</version>
</dependency>
将库用作依赖项后,可以按照本指南中的说明从Java调用它:https://clojure.org/reference/java_interop#_calling_clojure_from_java
如果您需要编写大量代码才能使用您感兴趣的库,建议您编写Clojure函数作为入口点,而不是尝试编写许多调用Clojure库代码的Java代码,