是否可以读取和处理由java代码生成的类(.class文件)?
例如。)CalculateSum.java - > CalculateSum.class - > Clojure需要CalculateSum.class并将其嵌入到代码中?
答案 0 :(得分:2)
Clojure旨在拥抱其主机平台JVM。 clojure编译器生成的类文件一旦创建就像来自任何其他源的类文件一样;所以实际上你已经这样做了;)
如果要使用java类,只需在命名空间中放入import语句:
(ns my.project
(:import [com.them.library A B C]))
然后结帐
http://clojure.org/java_interop了解下一步做什么
答案 1 :(得分:2)
您只需确保类文件位于类路径中。
以下是一些示例代码。
hello.java:
public class hello {
public String sayHi() {
return "hello world";
}
}
$ javac hello.java
$ java -cp clojure.jar:./ clojure.main
user=> (import 'hello) ;; Necessary in 1.2.1, but not 1.3.0
user=> (.sayHi (hello.))
"hello world"
答案 2 :(得分:1)
所有Clojure都是纯Java并在JVM上运行。它可以加载和使用任何有效的Java类。