作为suggested in OpenJDK issue tracker,可以通过在Javadoc插件上定义源来解决:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<source>8</source>
</configuration>
</plugin>
,
将<detectJavaApiLink>false</detectJavaApiLink>
添加到Maven javadoc插入配置中可修复错误
,
我需要Carlos Santos的帮助才能真正做到这一点。包含他的答案的完整配置是:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<source>8</source>
<detectJavaApiLink>false</detectJavaApiLink>
</configuration>
</plugin>
,
自Java 9起,使用Doclet API发生了重大的重大突破更改
JEP 221: Simplified Doclet API
用新的简化的API替换旧的Doclet API,并利用现有的其他标准API。标准doclet已被重写为使用新的Doclet API
现有的API和旧的标准doclet可用,但是尚未更新为支持模块等新语言功能
旧API使用的是com.sun.javadoc包
Doclet API(也称为Javadoc API)为客户端提供了一种机制来检查程序和库的源代码级结构,包括源代码中嵌入的javadoc注释。
您可以尝试使用新的Doclet API,请参见examples
public class BasicDoclet implements Doclet {
@Override
public void init(Locale locale,Reporter reporter) { }
@Override
public String getName() {
// For this doclet,the name of the doclet is just the
// simple name of the class. The name may be used in
// messages related to this doclet,such as in command-line
// help when doclet-specific options are provided.
return getClass().getSimpleName();
}
,
javadoc生成指向您使用的软件包的链接,例如.../javase/11/docs/api
中记录的类。当您的注释位于一个未命名的模块中时,目标则不是,而javadoc不能将这两者结合在一起。它会生成package-list
或element-list
文件,因此您不能将未命名的模块(程序包)与已命名的模块混合使用。
我没有找到一种方法来限制javadoc试图产生的链接。因此您可能必须为自己的项目使用模块。这对我来说似乎很荒谬,只是为了使javadoc开心。我想这只是许多人坚持使用Java 8的原因之一。
,
我面临着同样的问题。我正在使用 Java 11.0.3 和 org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:jar 。将maven-javadoc-plugin版本更新为 3.2.0 对我来说很完美。
,
通过使用新版本的编译器插件并将release属性设置为8,我可以使自己的项目正常工作。
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</plugin>
<properties>
<maven.compiler.release>8</maven.compiler.release>
</properties>
,
我有这个问题,因为我使用 module-info.test 方法对 Java 9 模块进行单元测试。
简单地排除测试的 javadoc 生成就为我解决了这个问题。
<reportSet>
<reports>
<report>javadoc</report>
<report>test-javadoc</report>
</reports>
</reportSet>
只需删除 test-javadoc
报告。
,
我们可以在配置中使用showtext_auto()
。
本文链接:https://www.f2er.com/3110227.html