Comment puis-je désactiver le plugin Maven Javadoc à partir de la ligne de commande?


231

Dans pom.xml, j'ai une déclaration comme celle-ci

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <executions>
            <execution>
                <id>attach-javadocs</id>
                <goals>
                    <goal>jar</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

existe-t-il un moyen de désactiver cela à partir de la ligne de commande?

Je sais que je peux extraire cela dans un profil, mais ce n'est pas ce que je veux.

Réponses:


438

La génération Javadoc peut être ignorée en définissant la propriété maven.javadoc.skipsur true [ 1 ], c'est-à-dire

-Dmaven.javadoc.skip=true

(et pas faux)


1
Voir la réponse @ Christoph-Tobias Schenke pour l'approche à adopter avec les modules enfants.
— ecoe

Cet argument peut également être défini directement dans jenkins pour éviter ce problème (dans Global MAVEN_OPTS défini dans Configure System)
— King Midas

11
Cela n'a pas fonctionné pour moi, mais j'ai appris que lorsque vous utilisez le plugin de libération maven, vous devez passer ce paramètre différemment. Cela a fonctionné: mvn release:perform -Darguments="-Dmaven.javadoc.skip=true".
— PatS

181

Il semble que la manière simple

-Dmaven.javadoc.skip=true

ne fonctionne pas avec le plugin de version. dans ce cas, vous devez passer le paramètre comme un "argument"

mvn release:perform -Darguments="-Dmaven.javadoc.skip=true"

9
Si vous devez ajouter deux arguments, vous pouvez les séparer avec un espace comme celui-ci-Darguments="-DskipTests -Dmaven.javadoc.skip=true"
— Graham

4
Il fonctionne également pour les ajouter à la configuration du plugin de version dans le pom.xml au niveau racine:<configuration><arguments>-DskipTests -Dmaven.javadoc.skip=true</arguments></configuration>
— nclark

1
De plus, skipTests vient dans une saveur plus forte qui ignore également la compilation des tests:-Dmaven.tests.skip=true
— nclark

120

Vous pouvez utiliser la maven.javadoc.skippropriété pour ignorer l'exécution du plugin, en passant par le javadoc de Mojo. Vous pouvez spécifier la valeur en tant que propriété Maven:

<properties>
    <maven.javadoc.skip>true</maven.javadoc.skip>
</properties>

ou comme argument de ligne de commande -Dmaven.javadoc.skip=true:, pour ignorer la génération des Javadocs.


1
Cette réponse ne répond pas vraiment à la question, car elle indique que le changement doit être effectué via la ligne de commande.
— Sinisha Mihajlovski

3
C'est la solution parfaite pour un projet multi-modules avec quelques modules ne générant aucun javadoc et provoquant une erreur sinon.
— Emmanuel Bourg

19

Ajoutez à la configuration du plugin de version dans le pom.xml racine:

<configuration>
    <arguments>-Dmaven.javadoc.skip=true</arguments>
</configuration>

ce n'est pas correctement à partir de la ligne de commande comme requis par la question, mais cela fonctionne très bien si vous devez désactiver définitivement le javadoc.
— Lorenzo Sciuto

1

Pour les utilisateurs débutants de Powershell, il est important de savoir que "." est un élément syntaxique de Powershell, le commutateur doit donc être placé entre guillemets:

mvn clean install "-Dmaven.javadoc.skip = true"

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.