我正在写一些clojure代码,而我依靠Joda时间来处理时间。问题是我不知道要导入什么,文档并不十分清楚。现在我知道这里的某个人可能会在不到5秒的时间内给我正确的答案,但我宁愿知道如何自己解决这个问题(除了直到我找到正确的答案,直到找到正确的答案)。 / p>
如果我在Python中这样做,我会导入顶级包并使用dir
和help
的组合来确定我需要导入的内容。在clojure中有没有办法做到这一点?或者还有其他种类的java工具来解决这个问题吗?我更喜欢那些面向命令行的东西。
答案 0 :(得分:8)
通常我会选择David Grant的答案,但是如果你找不到任何JavaDoc(!),但是你有一个jar文件,你可以使用jar实用程序列出jar中的文件。
类文件直接映射到其包名的目录。例如,jar -tf joda-time-1.6.jar | more
将DateTime.class列为org/joda/time/DateTime.class
; DateTime位于org.joda.time
包中。
答案 1 :(得分:3)
与dir
和help
将检查Python中的包文档的方式相同,Java中的有用信息可以通过阅读特定API的Javadoc来收集。在Joda Time的情况下,该网站直接链接到生成的文档,在这里:
http://joda-time.sourceforge.net/api-release/index.html(见左下方框架)
我无法想到任何可以直接与你问的东西相媲美的东西,因为除非你向类加载器询问特定的类,否则类加载器不会加载它,你将无法找到它
答案 2 :(得分:1)
Bill Clementson写了a small piece of code,帮助您查看REPL中的javadoc文档。
答案 3 :(得分:0)
http://dishevelled.net/Generating-Clojure-import-lines-using-SLIME.html 查找导入非常容易。我个人只是使用REPL中定义的clojure函数find-classes。