如何在 Clojure 中调用公共类的非公共方法?
我使用 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()
有解决方法吗?
I'm calling the twitter4j library using Clojure like so:
(def twitter (. (TwitterFactory.) getInstance))
This works fine when I call it as a script. But when I use gen-class, I get:
java.lang.IllegalArgumentException: Can't call public method of non-public class: public java.lang.Object twitter4j.TwitterFactoryBase.getInstance()
Is there a workaround for this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我自己没有这方面的经验,但是 Meikel Brandmeyer 曾经写过一篇关于 gen-class 的很好的文章,也许这会对你有所帮助:
http://kotka.de/blog/2010/02/gen-class_how_it_works_and_how_to_use_it.html
I have no experience with it myself, but Meikel Brandmeyer did a nice writeup on gen-class once, maybe that will help you:
http://kotka.de/blog/2010/02/gen-class_how_it_works_and_how_to_use_it.html
尝试:
Try: