У меня есть многомодульный проект. В родительском pom (который не является агрегатором POM), я использую maven-javadoc-plugin
. Он имеет два исполнения, как в фазе package
, один для цели jar
, так и один для цели aggregate-jar
.Как сделать maven-javadoc-plugin генерировать несколько банок?
Это красиво генерирует полный агрегат Javadoc jar всех классов (не тестируемых) в сборке.
Что мне нужно, чтобы быть в состоянии сделать это генерировать TWO Javadoc банки, один точно так, как это теперь генерации, а другой, который охватывает ограниченный набор модулей, и, возможно, исключает отдельные пакеты или классы.
Я подумал, что это может потребовать добавления двух элементов «выполнения», как для задачи «агрегат-банку», так и с разными значениями конфигурации. Кажется, это ничего не делало. Он просто создал одно дерево Javadoc, для «всех» классов. Как мне это сделать?
Это была моя попытка сделать это случиться:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
<executions>
<execution>
<id>module-javadoc-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<show>protected</show>
<detectLinks>true</detectLinks>
</configuration>
</execution>
<execution>
<id>aggregated-documentation-all</id>
<phase>package</phase>
<inherited>false</inherited>
<goals>
<goal>aggregate-jar</goal>
</goals>
<configuration>
<sourcepath>
../something-api:
../something-impl:
../something-else-api:
../something-else-impl:
</sourcepath>
<destDir>all</destDir>
<finalName>all</finalName>
<show>protected</show>
<detectLinks>true</detectLinks>
</configuration>
</execution>
<execution>
<id>aggregated-documentation-interface</id>
<phase>package</phase>
<inherited>false</inherited>
<goals>
<goal>aggregate-jar</goal>
</goals>
<configuration>
<sourcepath>
../something-api:
../something-else-api:
</sourcepath>
<destDir>interface</destDir>
<finalName>interface</finalName>
<show>protected</show>
<detectLinks>true</detectLinks>
</configuration>
</execution>
</executions>
</plugin>
Спасибо за ответ, но это, казалось, не делает никакой разницы. Обратите внимание, что мой pom верхнего уровня является совокупным pom.Я определил плагин javadoc в родительском pom, который является одним из дочерних модулей. Все остальные дочерние модули определяют это как родительский pom. Я запускал «mvn install» на верхнем уровне, и он создал «target/* - javadoc.jar», который, как представляется, имеет javadoc для всех классов. Я не вижу никаких признаков какого-либо влияния на настройки классификатора. –
@ Давид в порядке, вопрос читается * parent pom (который не является агрегатором POM) *. Также обратите внимание, если вы используете его как агрегатор POM, вы, вероятно, захотите указать ' true ' –
nullpointer
Я действительно смущен тем, что вы здесь говорите. Я был довольно ясен в оригинальной публикации, что у меня есть агрегатор pom И родительский pom, и мой параметр плагина javadoc находится в родительском pom. POM в верхнем каталоге представляет собой агрегатор pom, а один из детских помпов - родительский pom. –