ฉันจะปิดใช้งานปลั๊กอิน Maven Javadoc จากบรรทัดคำสั่งได้อย่างไร


231

ใน pom.xml ฉันมีการประกาศเช่นนี้

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

มีวิธีใดที่จะปิดสิ่งนั้นจากบรรทัดคำสั่ง?

ฉันรู้ว่าฉันสามารถแยกมันออกเป็นโปรไฟล์ได้ แต่นั่นไม่ใช่สิ่งที่ฉันต้องการ

คำตอบ:


438

การสร้าง Javadoc สามารถข้ามได้โดยการตั้งค่าคุณสมบัติmaven.javadoc.skipเป็นจริง [ 1 ], เช่น

-Dmaven.javadoc.skip=true

(และไม่ใช่เท็จ)


1
ดูคำตอบ @ Christoph-Tobias Schenke สำหรับวิธีการจัดการกับโมดูลย่อย
ecoe

อาร์กิวเมนต์นี้สามารถตั้งค่าโดยตรงในเจนกินส์เพื่อหลีกเลี่ยงปัญหานี้ (ใน Global MAVEN_OPTS ที่กำหนดไว้ใน Configure System)
King Midas

11
สิ่งนี้ใช้ไม่ได้สำหรับฉัน แต่เรียนรู้ว่าเมื่อคุณใช้ปลั๊กอินการปล่อย maven คุณจะต้องผ่านพารามิเตอร์นี้ต่างกัน สิ่งนี้ได้ผล: mvn release:perform -Darguments="-Dmaven.javadoc.skip=true".
PatS

181

ดูเหมือนว่าวิธีที่ง่าย

-Dmaven.javadoc.skip=true

ไม่สามารถใช้งานกับ release-plugin ในกรณีนี้คุณต้องผ่านพารามิเตอร์เป็น "อาร์กิวเมนต์"

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

9
หากคุณต้องการเพิ่มสองอาร์กิวเมนต์คุณสามารถแยกพวกมันออกด้วยช่องว่างเช่นนี้ได้-Darguments="-DskipTests -Dmaven.javadoc.skip=true"
Graham

4
นอกจากนี้ยังใช้งานเพื่อเพิ่มสิ่งเหล่านี้ในการกำหนดค่าปลั๊กอินการปล่อยใน pom.xml ระดับราก:<configuration><arguments>-DskipTests -Dmaven.javadoc.skip=true</arguments></configuration>
nclark

1
นอกจากนี้ skipTests ยังมาในรสชาติที่แข็งแกร่งกว่าที่ยังข้ามการรวบรวมของการทดสอบ:-Dmaven.tests.skip=true
nclark

120

คุณสามารถใช้maven.javadoc.skipคุณสมบัตินี้เพื่อข้ามการเรียกใช้ปลั๊กอินโดยไปที่ javadoc ของ Mojo คุณสามารถระบุค่าเป็นคุณสมบัติ Maven:

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

หรือเป็นอาร์กิวเมนต์บรรทัดคำสั่ง: -Dmaven.javadoc.skip=trueเพื่อข้ามการสร้าง Javadocs


1
คำตอบนี้ไม่ได้ตอบคำถามจริงๆเพราะในนั้นมีการระบุว่าสวิทช์ควรจะทำผ่านบรรทัดคำสั่ง
Sinisha Mihajlovski

3
นี่เป็นโซลูชันที่สมบูรณ์แบบสำหรับโครงการหลายโมดูลที่มีโมดูลไม่กี่รายการที่ไม่สร้าง javadoc ใด ๆ และทำให้เกิดข้อผิดพลาดเป็นอย่างอื่น
Emmanuel Bourg

19

เพิ่มในปลั๊กอินการกำหนดค่าการวางจำหน่ายใน pom.xml ระดับราก:

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

สิ่งนี้ไม่ถูกต้องจากบรรทัดคำสั่งตามที่คำถามกำหนด แต่ใช้งานได้ดีถ้าคุณต้องการปิดการใช้งาน javadoc อย่างถาวร
Lorenzo Sciuto

1

สำหรับผู้ใช้ newbie Powershell สิ่งสำคัญคือต้องรู้ว่า '.' เป็นองค์ประกอบทางวากยสัมพันธ์ของ Powershell ดังนั้นสวิตช์จะต้องอยู่ในเครื่องหมายคำพูดคู่:

mvn clean ติดตั้ง "-Dmaven.javadoc.skip = true"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.