OSGi 版本注释的奇怪 javadoc 错误(带有 jdk12)
Weird javadoc error (with jdk12) for OSGi version annotation
随着从 Java 11 到 Java 12 的更改,我们现在在包含 OSGi 版本注释的包信息文件上生成 Javadoc 时看到一个奇怪的错误。
源代码为:
@Version("1.3.0")
package org.apache.jackrabbit.oak.commons;
import org.osgi.annotation.versioning.Version;
错误是:
[ERROR] C:\projects\apache\oak\trunk\oak-commons\src\main\java\org\apache\jackrabbit\oak\commons\package-info.java:17: error: unknown tag: Version
[ERROR] @Version("1.3.0")
[ERROR] ^
这是 Java 12 中的回归,还是注释的使用方式有问题,或者 Javadoc 的调用方式(通过 maven)?
可能是 Javadoc 错误,因为 Javadoc 将 Java 注释视为 Javadoc 标签 。
解决方法 1:
禁用此 Javadoc 标签
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<tags>
<tag>
<name>Version</name>
<placement>X</placement>
</tag>
</tags>
</configuration>
</plugin>
解决方法 2:
在每个注释前面添加一个空的 Javadoc 块
/** */@Version("1.3.0")
package org.apache.jackrabbit.oak.commons;
随着从 Java 11 到 Java 12 的更改,我们现在在包含 OSGi 版本注释的包信息文件上生成 Javadoc 时看到一个奇怪的错误。
源代码为:
@Version("1.3.0")
package org.apache.jackrabbit.oak.commons;
import org.osgi.annotation.versioning.Version;
错误是:
[ERROR] C:\projects\apache\oak\trunk\oak-commons\src\main\java\org\apache\jackrabbit\oak\commons\package-info.java:17: error: unknown tag: Version
[ERROR] @Version("1.3.0")
[ERROR] ^
这是 Java 12 中的回归,还是注释的使用方式有问题,或者 Javadoc 的调用方式(通过 maven)?
可能是 Javadoc 错误,因为 Javadoc 将 Java 注释视为 Javadoc 标签 。
解决方法 1: 禁用此 Javadoc 标签
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<tags>
<tag>
<name>Version</name>
<placement>X</placement>
</tag>
</tags>
</configuration>
</plugin>
解决方法 2: 在每个注释前面添加一个空的 Javadoc 块
/** */@Version("1.3.0")
package org.apache.jackrabbit.oak.commons;