我用clojure和逆时针在eclipse中创建了一个基本的hello world class,我可以用clojure编译它没问题。
(ns ca.ckovacs.test.helloWorld (:gen-class)) (defn -main [greetee] (println (str "Hello " greetee "!")))
我看到这会在my / classes文件夹中生成三个类:
helloWorld__init.class helloWorld$_main__135.class helloWorld$loading__6309__auto__133.class
但为什么我没有得到helloWorld.class?
我最终希望能够在Eclipse中使用Clojure编译类。
我必须遗漏一些显而易见的东西,但是通过clojure.org的Compilation页面阅读,发布的示例hello world说你可以像任何其他java类一样加载helloWorld类。
感谢。
答案 0 :(得分:3)
我不知道问题是什么,但我最终重命名了我的包名,并按预期得到了helloWorld.class文件。
我怀疑问题可能是因为我有两个独立的源路径(一个用于Java,一个用于Clojure),它们共享相同的包命名空间。
答案 1 :(得分:2)
嗯...因为没有人提供答案,即使我不使用Eclipse或逆时针,我也会尝试提供一些指导。
如果您想在使用Java调用时将静态方法视为Clojure函数,则需要在(gen-class)
语句中添加一些信息,尤其是:methods
个关键字。
几天前看到我对“Calling Clojure from Java”的回答。它提供了在NetBeans和enclojure上开发的答案,可以为您的问题提供一些指导。
处理两种语言之间的类/对象/继承有点复杂。