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>