仅用于 package-info.java 的 javadoc

标签 java maven-2 javadoc package

我有一种情况,我想在没有类的项目中执行 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/

相关文章:

java - 何时使用 CompletableFuture 的非异步方法?

java - 合并列表+更新项目

java - 构建后生成的目标文件不包含必须存在的所有已编译类

java - 有没有办法在 Java 文档中指定应从非 UI 线程调用方法

java - 如何跳过所有模块的 javadoc?

java - 一个显示给定类的 javadoc 的 java 程序

java - REST ASSURED TEST 创建我自己的 given() 方法

java - AWS Java SDK 需要存储桶所有者完全控制?

java - Junit4 和 TestNG 在与 Maven 的一个项目中

maven-2 - 使用hudson构建maven项目时自动发布javadoc