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.