如何在Eclipse中使用逆时针编译的Clojure类

时间:2010-02-07 00:47:12

标签: eclipse clojure

我用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类。

感谢。

2 个答案:

答案 0 :(得分:3)

我不知道问题是什么,但我最终重命名了我的包名,并按预期得到了helloWorld.class文件。

我怀疑问题可能是因为我有两个独立的源路径(一个用于Java,一个用于Clojure),它们共享相同的包命名空间。

答案 1 :(得分:2)

嗯...因为没有人提供答案,即使我不使用Eclipse或逆时针,我也会尝试提供一些指导。

如果您想在使用Java调用时将静态方法视为Clojure函数,则需要在(gen-class)语句中添加一些信息,尤其是:methods个关键字。

几天前看到我对“Calling Clojure from Java”的回答。它提供了在NetBeans和enclojure上开发的答案,可以为您的问题提供一些指导。

处理两种语言之间的类/对象/继承有点复杂。