Странная ошибка javadoc (с jdk12) для аннотации версии OSGi - PullRequest
3 голосов
/ 29 апреля 2019

С переходом с Java 11 на Java 12 теперь мы видим странную ошибку при создании Javadoc для файлов информации о пакете, содержащих аннотации версий OSGi.

Исходный код:

@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)?

1 Ответ

3 голосов
/ 30 апреля 2019

Вероятно, ошибка 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;
...