![](/img/trans.png)
[英]need to figure out how to manipulate the mutator to figure out a class according to professor, I am confusd on how to do that
[英]How do I figure out what namespace I need to import from a java library?
我正在写一些clojure代码,而且我依靠Joda时间来处理时间。 问题是我不知道要导入什么,文档并不十分清楚。 现在我知道这里的某个人可能会在不到5秒的时间内给我正确的答案,但我宁愿知道如何自己解决这个问题(除了直到我找到正确的答案才能完成文档)。
如果我在Python中执行此操作,我将导入顶级包并使用dir
和help
的组合来确定我需要导入的内容。 在clojure中有没有办法做到这一点? 或者还有其他种类的java工具来解决这个问题吗? 我更喜欢以命令行为导向的东西。
通常我会选择David Grant的答案,但是如果你找不到任何JavaDoc(!),但是你有一个jar文件,你可以使用jar实用程序列出jar中的文件。
类文件直接映射到其包名的目录。 例如, jar -tf joda-time-1.6.jar | more
jar -tf joda-time-1.6.jar | more
列出DateTime.class as org/joda/time/DateTime.class
; DateTime位于org.joda.time
包中。
与dir
和help
将检查Python中的包文档的方式相同,Java中的有用信息可以通过阅读特定API的Javadoc来收集。 在Joda Time的情况下,该网站直接链接到生成的文档,在这里:
http://joda-time.sourceforge.net/api-release/index.html (见左下方框架)
我想不出任何可以直接与你问的东西相媲美的东西,因为除非你向类加载器询问特定的类,否则类加载器不会加载它,你将无法找到它。
Bill Clementson编写了一小段代码 ,可以帮助您查看REPL中的javadoc文档。
http://dishevelled.net/Generating-Clojure-import-lines-using-SLIME.html使查找导入变得非常容易。 我个人只是使用REPL中定义的clojure函数find-classes。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.