Làm cách nào để tôi có thể tắt plugin Maven Javadoc khỏi dòng lệnh?


231

Trong pom.xml tôi có khai báo như thế này

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

Có cách nào để tắt nó khỏi dòng lệnh?

Tôi biết tôi có thể trích xuất nó vào một hồ sơ, nhưng đó không phải là điều tôi muốn.

Câu trả lời:


438

Có thể bỏ qua thế hệ Javadoc bằng cách đặt thuộc tính maven.javadoc.skipthành true [ 1 ], tức là

-Dmaven.javadoc.skip=true

(và không sai)


1
Xem câu trả lời @ Christoph-Tobias Schenke để biết cách tiếp cận với các mô đun con.
ecoe

Đối số này cũng có thể được đặt trực tiếp trong jenkins để tránh sự cố này (trong MAVEN_OPTS toàn cầu được xác định trong Cấu hình hệ thống)
King Midas

11
Điều này không hiệu quả với tôi, nhưng học được rằng khi bạn sử dụng plugin phát hành maven, bạn cần truyền tham số này theo cách khác. Điều này đã làm việc : mvn release:perform -Darguments="-Dmaven.javadoc.skip=true".
PatS

181

Dường như, cách đơn giản

-Dmaven.javadoc.skip=true

không hoạt động với plugin phát hành. trong trường hợp này bạn phải truyền tham số dưới dạng "đối số"

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

9
Nếu bạn cần thêm hai đối số, bạn có thể tách chúng bằng một khoảng trắng như thế này-Darguments="-DskipTests -Dmaven.javadoc.skip=true"
Graham

4
Nó cũng hoạt động để thêm những thứ này vào cấu hình plugin phát hành trong pom.xml cấp gốc:<configuration><arguments>-DskipTests -Dmaven.javadoc.skip=true</arguments></configuration>
nclark

1
Ngoài ra, SkipTests có hương vị mạnh mẽ hơn, cũng bỏ qua việc tổng hợp các bài kiểm tra:-Dmaven.tests.skip=true
nclark

120

Bạn có thể sử dụng thuộc maven.javadoc.skiptính để bỏ qua việc thực thi plugin, bằng javadoc của Mojo. Bạn có thể chỉ định giá trị dưới dạng một thuộc tính Maven:

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

hoặc như một đối số dòng lệnh : -Dmaven.javadoc.skip=true, để bỏ qua việc tạo Javadocs.


1
Câu trả lời này không thực sự trả lời câu hỏi, vì trong đó có ghi rằng việc chuyển đổi nên được thực hiện thông qua dòng lệnh.
Sinisha Mihajlovski

3
Đây là giải pháp hoàn hảo cho một dự án đa mô-đun với một vài mô-đun không tạo ra bất kỳ javadoc nào và gây ra lỗi khác.
Emmanuel Bourg

19

Thêm vào cấu hình plugin phát hành trong pom.xml cấp gốc:

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

Điều này không đúng từ dòng lệnh theo yêu cầu của câu hỏi, nhưng nó hoạt động rất tốt nếu bạn cần vô hiệu hóa javadoc vĩnh viễn.
Lorenzo Sciuto

1

Đối với người dùng Powershell người mới, điều quan trọng là phải biết rằng '.' là một yếu tố cú pháp của Powershell, vì vậy công tắc phải được đặt trong dấu ngoặc kép:

mvn cài đặt sạch "-Dmaven.javadoc.skip = true"

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.