Как указать другую версию стандартного DocLet в Maven?
Предыстория: у меня есть проект, который прекрасно компилируется с maven на машине с java 1.7.0, но компиляция javadoc не удалась на другой машине с java 1.8.0. Из журнала maven я вижу, что один использует "Стандартную версию DocLet 1.7.0_40", а другой использует "Стандартную версию DocLet 1.8.0".
Вопрос: как я могу сказать maven использовать правильную версию Standard DocLet?
Я уже установил исходный код и целевую версию как 1.7 в плагине maven-compiler-plugin.
1 ответ
Я бы посоветовал взглянуть на документацию maven-javadoc-plugin, в которой описано, как определить версию для доклетов.
<project>
...
<reporting> (or <build>)
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
<!-- <docletPath>/path/to/UmlGraph.jar</docletPath> -->
<docletArtifact>
<groupId>org.umlgraph</groupId>
<artifactId>doclet</artifactId>
<version>5.1</version>
</docletArtifact>
<additionalparam>-views</additionalparam>
<useStandardDocletOptions>true</useStandardDocletOptions>
</configuration>
</plugin>
...
</plugins>
</reporting> (or </build>)
...
</project>
Также, столкнувшись с проблемой, я покопался в коде maven-javadoc-plugin и не думаю, что вы можете изменить стандартную версию doclet. Вы можете указать собственный доклет, но для стандартного доклета он использует вашу версию Java, предположительно потому, что реализация доклета является частью вашего JDK.