我有以下Java类:
public class Speak {
public static String greet() {
return "Hello! I am a human!";
}
}
我已将此编译为Speak.class
我现在如何将其导入clojure repl以及类路径和命名空间如何适应?
由于
答案 0 :(得分:2)
使用标准的clojure repl,类文件需要在用于启动repl的类路径上可用。这是一个例子
java -cp pathToClojure\clojure.jar;.\src;.\lib;.\lib\* clojure.main %1
我为clojure源包含了src,包含了类文件的lib文件夹,以及包含在jar文件中的类的lib *。
在此示例中,Speak类可以包含在内并与之一起使用:
user=> (import Speak)
Speak
user=> (Speak/greet)
"Hello! I am a human!"
这假定您在开始repl之前已设置了类路径。如果你想在repl启动后向classpath添加一些内容,那就更复杂了。可以找到执行此操作的示例代码here