Maven Javadoc eklentisini komut satırından nasıl devre dışı bırakabilirim?


231

Pom.xml'de böyle bir beyan var

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

bunu komut satırından kapatmanın bir yolu var mı?

Bunu bir profile çıkarabileceğimi biliyorum, ama istediğim bu değil.

Yanıtlar:


438

Javadoc üretimi özelliği maven.javadoc.skiptrue [ 1 ] olarak ayarlanarak atlanabilir , yani

-Dmaven.javadoc.skip=true

(ve yanlış değil)


1
Çocuk modülleriyle yaklaşma için @ Christoph-Tobias Schenke cevabına bakınız.
ecoe

Bu argüman, bu sorunu önlemek için doğrudan jenkins'te de ayarlanabilir (Yapılandırma Sisteminde tanımlanan Global MAVEN_OPTS içinde)
Kral Midas

11
Bu benim için işe yaramadı, ancak maven yayın eklentisini kullandığınızda bu parametreyi farklı bir şekilde geçirmeniz gerektiğini öğrendim. Bu çalıştı: mvn release:perform -Darguments="-Dmaven.javadoc.skip=true".
PatS

181

Öyle görünüyor ki, basit yol

-Dmaven.javadoc.skip=true

yayın eklentisi ile çalışmaz. bu durumda parametreyi "bağımsız değişken" olarak geçirmeniz gerekir

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

9
İki argüman eklemeniz gerekiyorsa, bunları böyle bir alanla ayırabilirsiniz-Darguments="-DskipTests -Dmaven.javadoc.skip=true"
Graham

4
Ayrıca, kök düzeyi pom.xml'deki yayın eklentisi yapılandırmasına eklemek için çalışır:<configuration><arguments>-DskipTests -Dmaven.javadoc.skip=true</arguments></configuration>
nclark

1
Buna ek olarak, skipTests, testlerin derlenmesini de atlayan daha güçlü bir lezzetle gelir:-Dmaven.tests.skip=true
nclark

120

maven.javadoc.skipÖzelliği, Mojo'nun javadocuna giderek eklentinin yürütülmesini atlamak için kullanabilirsiniz . Değeri Maven özelliği olarak belirtebilirsiniz:

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

veya komut satırı bağımsız değişkeni olarak:, -Dmaven.javadoc.skip=trueJavadocs neslini atlamak için.


1
Bu cevap soruya gerçekten cevap vermez, çünkü orada anahtarın komut satırı üzerinden yapılması gerektiğini belirtir.
Sinisha Mihajlovski

3
Bu, herhangi bir javadoc üretmeyen ve aksi halde hataya neden olan birkaç modül içeren çok modüllü bir proje için mükemmel bir çözümdür.
Emmanuel Bourg

19

Kök düzeyi pom.xml'deki sürüm eklentisi yapılandırmasına ekleyin:

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

bu, sorunun gerektirdiği gibi komut satırından düzgün değildir, ancak javadoc'u kalıcı olarak devre dışı bırakmanız gerekiyorsa harika çalışır.
Lorenzo Sciuto

1

Yeni başlayanlar için Powershell kullanıcıları bunu bilmek önemlidir. Powershell'in sözdizimsel bir öğesidir, bu nedenle anahtarın çift tırnak içine alınması gerekir:

mvn temiz kurulum "-Dmaven.javadoc.skip = true"

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.