【问题标题】:javadoc for package-info.java only仅用于 package-info.java 的 javadoc
【发布时间】:2010-11-11 10:09:57
【问题描述】:

我有一种情况,我想在一个没有类的项目中执行 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包?
  • 我正在使用一个工具(特别是发音),它使用 package doc 作为为它生成的更大站点定制“splash”文档的手段。
  • 更具体地说,如果包不包含任何东西,为什么它存在?
  • 我在上面回答了这个问题。我正在使用一个生成站点文档服务的工具,自定义部分文档的方法是提供一个 java 包,其中包含其包文档中的额外内容。

标签: java maven-2 javadoc package


【解决方案1】:

没有办法让 JavaDoc 在空包上运行。有一个非常老的bug 已为此发布,标记为“已关闭,不会修复”。

在那个错误中,解决方法几乎就是你提到的明显的hacky,创建一个默认范围的空类。该类不会包含在 javadoc 中,除非您强制它使用 -package 或 -private。

/** hack to generate package javadoc */
class PlaceHolder {}

【讨论】:

  • 请注意,您的占位符 java 类文件必须至少有一个 /** */ 注释,否则解决方法将无法解决问题。
猜你喜欢
  • 2011-04-08
  • 2021-05-10
  • 1970-01-01
  • 1970-01-01
  • 2014-04-01
  • 2011-10-09
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
相关资源
最近更新 更多