将本地Java类导入Clojure
我理解在clojure中导入Java类的一般思路,如下所示:将本地Java类导入Clojure,clojure,clojure-java-interop,Clojure,Clojure Java Interop,我理解在clojure中导入Java类的一般思路,如下所示: (import 'a.random.Class) 但是,假设我有一个Example.java文件,其中包含我想要使用的'Example'类,那么如何导入类似的内容呢 抱歉,如果已经回答了这个问题,我已经四处查看了,但是在发布之前没有发现任何东西,并且提前感谢任何能够提供一些信息的人。为了能够使用Example.java中定义的类,您必须编译它并将生成的类文件放在类路径上 如果此Java文件是Clojure项目中的助手,则可以使用Le
(import 'a.random.Class)
但是,假设我有一个Example.java文件,其中包含我想要使用的'Example'类,那么如何导入类似的内容呢
抱歉,如果已经回答了这个问题,我已经四处查看了,但是在发布之前没有发现任何东西,并且提前感谢任何能够提供一些信息的人。为了能够使用
Example.java
中定义的类,您必须编译它并将生成的类文件放在类路径上
如果此Java文件是Clojure项目中的助手,则可以使用Leiningen自动化该过程:
(defproject foo "1.2.3-SNAPSHOT"
; ...
:java-source-paths ["src/main/java"]
)
假设Example.java
位于src/main/java
的子目录中,Leiningen将编译它,并在您使用它启动REPL或准备项目的jar时将其包含在类路径中。(还有:javac options
用于指定作为字符串向量传递给Java编译器的选项。)
如果您的Java源代码树更广泛并且独立于项目的Clojure端,那么将其打包为单独的Java项目可能更有意义。Clojure端将使用Java项目作为依赖项