簡體   English   中英

如何使用Spring-Boot在Java項目中使用Clojure庫?

[英]How can I use Clojure libraries in a Java project, using Spring-Boot?

我想將clojure庫導入基於Maven的Java 11應用程序中。 使用的clojure版本主要是1.8+,使用啟動進行構建。 我可以在語言版本上保持靈活性,但是必須為clojure使用boot。

我已經對此進行了一些閱讀,但是我無法找到任何最近的解決方案,而且都不使用引導。 鑒於它們都是JVM語言,我希望這不會太復雜,但不確定從哪里開始。

普通的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存儲庫中搜索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代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM