143

在pom.xml中我聲明這樣如何從命令行禁用Maven Javadoc插件?

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

有沒有辦法把它們關掉從命令行?

我知道我可以將其提取到配置文件中,但這不是我想要的。

回答

299

的Javadoc生成可以由酒店maven.javadoc.skip設置爲true [1]被跳過,即

-Dmaven.javadoc.skip=true 

(不虛)

+9

@Snicolas他的回答得到了布爾錯誤。 –

+10

我怎麼能在世界上記住這個國旗的名字? – javadba

+1

不適用於兒童模塊 –

93

您可以使用maven.javadoc.skip屬性跳過插件的執行,由Mojo的javadoc執行。您可以爲一個Maven屬性指定的值:

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

或作爲命令行參數:-Dmaven.javadoc.skip=true,跳過的Javadoc的產生。

+1

優秀,剃9分鐘了我的Maven -release-plugin build cycle :) – VeenarM

+1

這個答案並不真正回答這個問題,因爲在那裏它說明了交換機應該通過命令行完成。 –

+1

這是多模塊項目的完美解決方案,其中有幾個模塊不會生成任何javadoc,否則會導致錯誤。 –

94

看來,這簡單的方法

-Dmaven.javadoc.skip=true 

不適用於發行插件。在這種情況下,你必須傳遞參數作爲一個「說法」

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

-Darguments方法適用於我。 mvn release:執行似乎忽略了pom.xml中的javadoc相關設置。 – Lupius

+0

它用'-Darguments'正常工作。謝謝 ! –

+3

如果你需要添加兩個參數,你可以用一個像這樣的空格分隔它們。'-Darguments =「 - DskipTests -Dmaven.javadoc.skip = true」 – Graham

8

添加到根級的pom.xml發佈插件配置:

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