Come posso disabilitare il plugin Maven Javadoc dalla riga di comando?


231

In pom.xml ho una dichiarazione come questa

    <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>

c'è un modo per disattivarlo dalla riga di comando?

So di poterlo estrarre in un profilo, ma non è quello che voglio.

Risposte:


438

La generazione Javadoc può essere ignorata impostando la proprietà maven.javadoc.skipsu true [ 1 ], ovvero

-Dmaven.javadoc.skip=true

(e non falso)


1
Vedi la risposta di @ Christoph-Tobias Schenke per l'approccio da adottare con i moduli figlio.
ecoe,

Questo argomento può anche essere impostato direttamente in jenkins per evitare questo problema (in Global MAVEN_OPTS definito in Configure System)
King Midas

11
Questo non ha funzionato per me, ma ho imparato che quando si utilizza il plug-in di rilascio Maven è necessario passare questo parametro in modo diverso. Questo ha funzionato: mvn release:perform -Darguments="-Dmaven.javadoc.skip=true".
PatS,

181

Sembra che sia così semplice

-Dmaven.javadoc.skip=true

non funziona con il plugin di rilascio. in questo caso devi passare il parametro come "argomento"

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

9
Se devi aggiungere due argomenti, puoi separarli con uno spazio come questo-Darguments="-DskipTests -Dmaven.javadoc.skip=true"
Graham,

4
Funziona anche per aggiungerli alla configurazione del plugin di rilascio nel pom.xml a livello di root:<configuration><arguments>-DskipTests -Dmaven.javadoc.skip=true</arguments></configuration>
nclark,

1
Inoltre, skipTests ha un sapore più forte che salta anche la compilazione di test:-Dmaven.tests.skip=true
nclark,

120

Puoi usare la maven.javadoc.skipproprietà per saltare l'esecuzione del plugin, passando per il javadoc di Mojo. È possibile specificare il valore come proprietà Maven:

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

o come argomento della riga di comando -Dmaven.javadoc.skip=true:, per saltare la generazione di Javadocs.


1
Questa risposta in realtà non risponde alla domanda, poiché in essa si afferma che l'interruttore dovrebbe essere fatto tramite la riga di comando.
Sinisha Mihajlovski,

3
Questa è la soluzione perfetta per un progetto multi-modulo con alcuni moduli che non generano alcun javadoc e causano un errore altrimenti.
Emmanuel Bourg,

19

Aggiungi alla configurazione del plugin di rilascio nel pom.xml a livello di root:

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

questo non è correttamente dalla riga di comando come richiesto dalla domanda, ma funziona benissimo se è necessario disabilitare permanentemente javadoc.
Lorenzo Sciuto,

1

Per gli utenti principianti di Powershell è importante sapere che "." è un elemento sintattico di Powershell, quindi lo switch deve essere racchiuso tra virgolette doppie:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.