Javadoc:package.html或package-info.java


230

尝试创建包级Javadoc注释时,首选方法是什么?你是做什么?

包信息.java

  • 优点
    • 较新的
  • 缺点
    • 滥用类-类仅用于代码,而不仅仅是注释

package.html

  • 优点
    • HTML扩展名表示其不是代码
    • IDE /文本编辑器中的语法突出显示
  • 缺点
    • 没有?

对于我来说,我一直使用Package.html。但是我想知道它是否是正确的选择。


46
package-info.java可以包含[package]注释-不一定是所有API文档。
汤姆·霍顿

52
我不会将package-info.java视为滥用类。它是一个Java源文件(文件扩展名为“ .java”),但不是类文件,因为它不包含类声明。而且,实际上,它不能包含类声明,因为“ package-info”不是合法的类名。
Scrubbie 2011年

19
使用package-info.java而不是package.html的另一个原因可能是.java并不暗示文档的特定输出格式。例如,您可能想将javadoc输出为LaTeX或PDF文件。取决于javadoc编译器的实现,这可能会在.html情况下引起问题。
honeyp0t 2012年

3
实际上@Scrubbie-尽管您应该是对的,但我认为您可以在其中指定package-private类。:-(我同意你的看法,虽然,使用package-info.java的Javadoc和注解是不是一类的滥用。
mjaggard

2
@JonasN参见stackoverflow.com/a/14708381/751579(我知道您3年前就遇到了这个问题,但是现在也许有人需要这个小费)
davidbak

Answers:


269

package-info.java:“此文件是JDK 5.0中的新文件,比package.html更为可取。” — javadoc-Java API文档生成器

附录:最大的区别似乎是包注释7.4包装声明中的基本原理还有更多内容。

附录:注释功能也在此处此处提及。

附录:又见什么package-info.java呢?


3
为什么要选择它的任何特定原因?
TheLQ'9

2
@TheLQ:我猜是包注释,因为编译器有更多信息可以使用;以上。
垃圾之神2010年

3
软件包注释对我来说是新的,由于其范围,似乎是package-info.java的一个很好的理由。
堆高机2010年

6
进一步编辑答案:解释“程序包注释”-一种注释,该注释将应用于程序包中的所有类,或者应用于整个程序包。tech.puredanger.com链接是唯一可以真正解释我为什么要关心的链接。也就是说,这是一个很好的有用链接。
Roboprog

5
使用package-info.java,您可以使用{@link}和其他doclet。链接java.lang类时,在生成javadoc时,您会自动获得{@link},指向与您使用的jdk相匹配的类的在线javadoc。在进行重构时,ide还可以帮助发现错误的链接。
路易吉·维贾诺
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.