从Java调用Clojure:为什么“新”样式(clojure.java.api.Clojure)比“旧”样式(gen-class)更好?

问题描述 投票:0回答:1

阅读this great answer to a related question后,有些事情让我感到困惑:

有两种可能性可以与Java开发人员共享我在Clojure中编写的功能

  • 第一个是在JAR文件中提供它,以便他们可以就像我用Java编写它一样调用它] >>。听起来很适合Clojure的倡导。

  • 第二个方法,据称是更好的方法,要求那些Java开发人员通过将名称作为字符串(!)传递而不是仅调用它们,来使用clojure.lang.IFnclojure.lang.RTinvoking

  • 函数之类的功能。

    为什么第二种方法“更好”?

阅读有关相关问题的好答案后,有些事情让我感到困惑:与Java开发人员共享我在Clojure中编写的函数有两种可能性。第一种是...

clojure clojure-java-interop
1个回答
7
投票

您正在这里设置错误的二分法。每种方法都涉及创建一个jar文件:这就是JVM程序的分发方式。但是Java代码有3种不同的方式来调用jar中包含的Clojure代码:

© www.soinside.com 2019 - 2024. All rights reserved.