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

时间:2019-07-04 10:07:51

标签: java maven spring-boot clojure

我想将clojure库导入基于Maven的Java 11应用程序中。使用的clojure版本主要是1.8+,使用启动进行构建。我可以在语言版本上保持灵活性,但是必须对clojure使用boot。

我已经阅读了一些内容,但是我找不到任何最新的解决方案,而且都不使用引导。鉴于它们都是JVM语言,我希望这不会太复杂,但不确定从哪里开始。

1 个答案:

答案 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中添加更多依赖项,可以在ClojarsMaven 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代码,