3

随着从 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)?

4

1 回答 1

3

可能是 Javadoc 错误,因为 Javadoc 将 Java Annotation 视为Javadoc Tag

解决方法 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;
于 2019-04-30T00:42:08.183 回答