Bagaimana saya bisa menonaktifkan plugin Maven Javadoc dari baris perintah?

231

Di pom.xml saya memiliki deklarasi seperti ini

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

apakah ada cara untuk mematikannya dari command line?

Saya tahu saya bisa mengekstraknya menjadi profil, tetapi bukan itu yang saya inginkan.

IAdapter
sumber

Jawaban:

438

Generasi Javadoc dapat dilewati dengan menyetel properti maven.javadoc.skipmenjadi true [ 1 ], yaitu

-Dmaven.javadoc.skip=true

(dan tidak salah)

mswientek
sumber
1
Lihat @ Christoph-Tobias Schenke jawaban untuk pendekatan untuk mengambil dengan modul anak.
Ecoe
Argumen ini juga dapat diatur secara langsung dalam jenkins untuk menghindari masalah ini (dalam Global MAVEN_OPTS didefinisikan dalam Sistem Konfigurasi)
King Midas
11
Ini tidak berfungsi untuk saya, tetapi mengetahui bahwa ketika Anda menggunakan plugin rilis pakar Anda perlu melewati parameter ini secara berbeda. Ini bekerja: mvn release:perform -Darguments="-Dmaven.javadoc.skip=true".
PatS
181

Sepertinya, itu cara yang sederhana

-Dmaven.javadoc.skip=true

tidak bekerja dengan rilis-plugin. dalam hal ini Anda harus melewatkan parameter sebagai "argumen"

mvn release:perform -Darguments="-Dmaven.javadoc.skip=true"
Christoph-Tobias Schenke
sumber
9
Jika Anda perlu menambahkan dua argumen, Anda dapat memisahkannya dengan ruang seperti ini-Darguments="-DskipTests -Dmaven.javadoc.skip=true"
Graham
4
Ini juga berfungsi untuk menambahkan ini ke konfigurasi plugin rilis di pom.xml tingkat root:<configuration><arguments>-DskipTests -Dmaven.javadoc.skip=true</arguments></configuration>
nclark
1
Selain itu, skipTests hadir dalam rasa yang lebih kuat yang juga melewatkan kompilasi tes:-Dmaven.tests.skip=true
nclark
120

Anda dapat menggunakan maven.javadoc.skipproperti untuk melewati eksekusi plugin, pergi oleh javadoc Mojo. Anda dapat menentukan nilai sebagai properti Maven:

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

atau sebagai argumen baris perintah -Dmaven.javadoc.skip=true:, untuk melewati pembuatan Javadocs.

Vineet Reynolds
sumber
1
Jawaban ini tidak benar-benar menjawab pertanyaan, karena di sana menyatakan bahwa pergantian harus dilakukan melalui baris perintah.
Sinisha Mihajlovski
3
Ini adalah solusi sempurna untuk proyek multi-modul dengan beberapa modul tidak menghasilkan javadoc apa pun dan menyebabkan kesalahan.
Emmanuel Bourg
19

Tambahkan ke konfigurasi plugin rilis di pom.xml tingkat root:

<configuration>
    <arguments>-Dmaven.javadoc.skip=true</arguments>
</configuration>
nclark
sumber
ini tidak dengan benar dari baris perintah seperti yang dipersyaratkan oleh pertanyaan, tetapi ini berfungsi dengan baik jika Anda perlu menonaktifkan javadoc secara permanen.
Lorenzo Sciuto
1

Untuk pengguna pemula Powershell, penting untuk mengetahui hal itu. ' adalah elemen sintaksis dari Powershell, sehingga sakelar harus dilampirkan dalam tanda kutip ganda:

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

Det
sumber