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.

Jawaban:


438

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

-Dmaven.javadoc.skip=true

(dan tidak salah)


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"

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.


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>

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"

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.