Tenho um projeto com a seguinte estrutura:
parent
|-api
|-plugin (depends on api)
O projeto é construído usando as clean install package
tarefas do maven no módulo pai. Os JARs são gerados corretamente, mas os javadocs não. Como posso consertar isso?
Esta é a aparência do pom do meu módulo pai:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>PluginLogger</groupId>
<artifactId>parent</artifactId>
<version>1.1</version>
<packaging>pom</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
<modules>
<module>plugin</module>
<module>api</module>
</modules>
// repositories and dependencies go here...
<build>
<defaultGoal>clean install package</defaultGoal>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.6.3</version>
<configuration>
<outputDirectory>${project.build.directory}/javadoc</outputDirectory>
<sourceFileIncludes>
<include>**/me/suprB/pluginlogger/api/**/*.java</include>
</sourceFileIncludes>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>package</phase>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
Eu só quero gerar os Javadocs para o módulo "api", não para o "plugin".
Criei um pequeno POC com uma estrutura semelhante à que você forneceu. Com base em minhas descobertas, gostaria de sugerir o seguinte:
**
da<include>
tagreportOutputDirectory
edestDir
configurações em vez deoutputDirectory
pluginManagement
aqui, já que o plugin é usado apenas pelo pai pom.Exemplo de POM pai
Este é o valor real
pom.xml
do módulo pai do meu PoC:Árvore de diretórios após emissão
mvn clean install
no módulo pai:Como você pode ver, ele não contém nenhuma documentação do
plugin
módulo - apenas doapi
, conforme você solicitou.