Использование свойств maven в JavaDoc

Можно ли расширить область свойств maven на javadocs с помощью Maven Javadoc Plugin? Например.

/**
 * My Awesome Class
 * @version ${project.version}
**/

Ответ 1

Думаю, вы так пытаетесь. Это двухэтапный процесс: Сначала нужно загрузить свойство pom в статическое поле Во-вторых, чтобы использовать статическое поле для установки свойства javadoc

Создайте app.properties в src/main/resources с контентом, подобным этому

application.version=${project.version}

тогда включите фильтрацию maven, как это.

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>

В коде приложения просто прочитайте файл свойств

public class MVNLinksHolder{

public static String version = "";

public MVNLinksHolder(){
    ClassPathResource resource = new ClassPathResource( "app.properties" );
    Properties p = new Properties();
    InputStream inputStream = null;
    try {
        inputStream = resource.getInputStream();
        p.load( inputStream );
        version = p.getProperty("application.version");
    }
    catch ( IOException e ) {
        LOGGER.error( e.getMessage(), e );
    }
    finally {
        Closeables.closeQuietly( inputStream );
    }
}
}

Затем используйте его для установки версии

/**
 * My Awesome Class
 * @version = {@value MVNLinksHolder#version}
**/

Ответ 2

показать
Строка
Определяет уровень доступа для классов и членов показать в Javadocs. Возможные значения: public (показывает только общедоступные классы и участники) защищены (отображаются только публичные и защищенные классы и члены) (показывает все классы и элементы, не отмеченные частный) частный (показывает всех классов и участников)

Значение по умолчанию: protected. Свойство пользователя: show.

https://maven.apache.org/plugins/maven-javadoc-plugin/javadoc-mojo.html

Попробуйте показать шоу публике