Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将本地Java类导入Clojure_Clojure_Clojure Java Interop - Fatal编程技术网

将本地Java类导入Clojure

将本地Java类导入Clojure,clojure,clojure-java-interop,Clojure,Clojure Java Interop,我理解在clojure中导入Java类的一般思路,如下所示: (import 'a.random.Class) 但是,假设我有一个Example.java文件,其中包含我想要使用的'Example'类,那么如何导入类似的内容呢 抱歉,如果已经回答了这个问题,我已经四处查看了,但是在发布之前没有发现任何东西,并且提前感谢任何能够提供一些信息的人。为了能够使用Example.java中定义的类,您必须编译它并将生成的类文件放在类路径上 如果此Java文件是Clojure项目中的助手,则可以使用Le

我理解在clojure中导入Java类的一般思路,如下所示:

(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项目作为依赖项