如何在使用Spring-Boot的Java项目中使用Clojure库?

3

我想将Clojure库导入基于Maven的Java 11应用程序中。所使用的Clojure版本大多是1.8+,使用Boot进行构建。语言版本可以灵活调整,但Clojure必须使用Boot。

我已经阅读了一些有关此问题的资料,但没有找到任何最近的解决方案,也没有使用Boot的解决方案。考虑到它们都是JVM语言,我希望这不会太复杂,但不确定从哪里开始。


你能确认一下这里的 Boot 是指 Spring-Boot 还是 Clojure 的 Boot 构建工具吗? - Denis Fuenzalida
1个回答

3

使用普通的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中添加更多的依赖项,你可以在ClojarsMaven Repository中搜索Clojure包。例如,在Maven仓库中clj-time库的条目如下: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代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接