Wie kann ich das Maven Javadoc-Plugin über die Befehlszeile deaktivieren?


231

In pom.xml habe ich eine solche Erklärung

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

Gibt es eine Möglichkeit, dies über die Befehlszeile auszuschalten?

Ich weiß, dass ich das in ein Profil extrahieren kann, aber das ist nicht das, was ich will.

Antworten:


436

Die Javadoc-Generierung kann übersprungen werden, indem die Eigenschaft maven.javadoc.skipauf true [ 1 ] gesetzt wird, d. H.

-Dmaven.javadoc.skip=true

(und nicht falsch)


1
Siehe @ Christoph-Tobias Schenke Antwort für den Ansatz mit Kindermodulen.
— Öko

Dieses Argument kann auch direkt in Jenkins gesetzt werden, um dieses Problem zu vermeiden (in Global MAVEN_OPTS definiert in Configure System)
— King Midas

11
Dies hat bei mir nicht funktioniert, aber ich habe gelernt, dass Sie diesen Parameter anders übergeben müssen, wenn Sie das Maven Release Plugin verwenden. Das hat funktioniert : mvn release:perform -Darguments="-Dmaven.javadoc.skip=true".
— PatS

181

Es scheint, dass der einfache Weg

-Dmaven.javadoc.skip=true

funktioniert nicht mit dem Release-Plugin. In diesem Fall müssen Sie den Parameter als "Argument" übergeben.

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

9
Wenn Sie zwei Argumente hinzufügen müssen, können Sie sie durch ein Leerzeichen wie dieses trennen-Darguments="-DskipTests -Dmaven.javadoc.skip=true"
— Graham

4
Es funktioniert auch, diese zur Release-Plugin-Konfiguration in der Root-Ebene pom.xml <configuration><arguments>-DskipTests -Dmaven.javadoc.skip=true</arguments></configuration>
— hinzuzufügen

1
Darüber hinaus hat skipTests einen stärkeren Geschmack, der auch die Zusammenstellung von Tests überspringt:-Dmaven.tests.skip=true
— nclark

120

Sie können die maven.javadoc.skipEigenschaft verwenden, um die Ausführung des Plugins im Javadoc des Mojo zu überspringen. Sie können den Wert als Maven-Eigenschaft angeben:

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

oder als Befehlszeilenargument : -Dmaven.javadoc.skip=true, um die Generierung der Javadocs zu überspringen.


1
Diese Antwort beantwortet die Frage nicht wirklich, da dort angegeben wird, dass der Wechsel über die Befehlszeile erfolgen soll.
— Sinisha Mihajlovski

3
Dies ist die perfekte Lösung für ein Projekt mit mehreren Modulen, bei dem einige Module kein Javadoc generieren und ansonsten einen Fehler verursachen.
— Emmanuel Bourg

19

Fügen Sie der Release-Plugin-Konfiguration in der pom.xml auf Stammebene Folgendes hinzu:

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

Dies erfolgt nicht ordnungsgemäß über die Befehlszeile, wie in der Frage gefordert, funktioniert jedoch hervorragend, wenn Sie das Javadoc dauerhaft deaktivieren müssen.
— Lorenzo Sciuto

1

Für Powershell-Neulinge ist es wichtig zu wissen, dass '.' ist ein syntaktisches Element von Powershell, daher muss der Schalter in doppelte Anführungszeichen gesetzt werden:

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.