如何在Clojure中调用公共类的非公共方法?

时间:2010-03-23 14:46:07

标签: clojure public-method

我正在使用Clojure调用twitter4j库:

(def twitter (. (TwitterFactory.) getInstance))

当我将其称为脚本时,这可以正常工作。但是当我使用gen-class时,我得到:

java.lang.IllegalArgumentException: Can't call public method of non-public class: public java.lang.Object twitter4j.TwitterFactoryBase.getInstance()

有解决方法吗?

2 个答案:

答案 0 :(得分:1)

我自己没有经验,但是Meikel Brandmeyer曾经对gen-class做了很好的写作,也许这会对你有帮助:

http://kotka.de/blog/2010/02/gen-class_how_it_works_and_how_to_use_it.html

答案 1 :(得分:0)

尝试:

(def twitter (.getInstance (new TwitterFactory)))