我有一种情况,我想在没有类的项目中执行 javadoc。它只有一个包的 package-info.java。执行javadoc时报错如下:
An error has occurred in JavaDocs report generation:Exit code: 1 - javadoc: error - No public or protected classes found to document.
有没有办法强制它只处理 package-info.java(除了明显的 hacky 解决方案:创建一个虚拟类,编写 package.html 的复制脚本等)?
我正在执行 javadoc 作为 maven 构建的一部分,因此 maven-javadoc-plugin 正在执行实际的 javadoc 命令。
最佳答案
没有办法让 JavaDoc 在空包上运行。有一个非常老的错误 ( JDK-4492654 ) 已发布,标记为“已关闭,不会修复”。
在那个错误中,解决方法几乎是你提到的明显的 hacky,创建一个默认范围的空类。该类不会包含在 javadoc 中,除非您强制它与 -package 或 -private 一起使用。
/** hack to generate package javadoc */
class PlaceHolder {}
关于仅用于 package-info.java 的 javadoc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1138390/