[英]How can I get the javadoc of all methods with a specific Annotation, with the method name and package/class name?
我正在寻找一种方法来在运行时获取具有特定Annotation的所有方法的所有javadoc。 我将使用此javadoc在自定义UI中显示有关这些方法的详细信息。
这些方法稍后用于测试,它们将以未知顺序调用,由用户确定 - 我希望让用户看到javadoc而不必浏览源代码。
是的,我有资源,可以用它们来实现目标。
我想到这样做的最好方法是维护一个带有描述的单独文件,这个文件将在运行时读取,但这意味着我必须同时维护javadoc和外部文件,我不喜欢维护两个副本的想法。非常相似的文字。
为任何答案干杯! 谢谢。
这并不像听起来那么简单,因为JavaDoc不是类文件的一部分getJavaDoc()
java.lang.reflect.Method
上没有getJavaDoc()
方法)。
我会像这样攻击这个问题:
org.eclipse.jdt.core_*.jar
添加到类路径中。“ 使用批处理编译器 ”也可能有帮助)。 AstVisitor
如果要在UI中使用它并且代码库相当大,那么您可能需要考虑索引javadoc并在索引上创建搜索查询。 Solr,Lucene,Sphinx是您可以使用的技术中的一小部分。
我怀疑你能通过直接使用JavaDocs来获得可接受的性能。 看看在这里使用Lucene是多么容易, http: //www.lucenetutorial.com/lucene-in-5-minutes.html
这是可能的,但需要一些努力。
通常,通过运行已到达CLI的实用程序javadoc
来实现创建javadoc。 您可以在编译时使用Annotation处理器API调用它,并与编译的资源一起存储。 然后你可以在运行时阅读它。
请看一下这个项目,作为注释预处理器使用的一个很好的例子。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.