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

有没有办法在命令行中关闭它?

我知道我可以把它提取到侧写中,但那不是我想要的。


你可以使用maven.javadoc.skip属性跳过插件的执行,通过Mojo的javadoc。您可以将该值指定为Maven属性:

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

或作为命令行参数:-Dmaven.javadoc。skip=true,跳过Javadocs的生成。


可以通过将属性maven.javadoc.skip设置为true[1]来跳过Javadoc生成。

-Dmaven.javadoc.skip=true

(并不是假的)


看来,这是最简单的方法

-Dmaven.javadoc.skip=true

不能与发布插件一起工作。在这种情况下,你必须将参数作为"参数"传递

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

在根级pom.xml中添加到发布插件配置:

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

对于新手Powershell用户,重要的是要知道'。'是Powershell的一个语法元素,所以开关必须用双引号括起来:

mvn clean install "-Dmaven.javadoc.skip=true"


重要的一点是: 如果您在pom.xml中的maven-javadoc-plugin配置中设置<skip>false<skip>,则- dmaen .javadoc. plugin将被删除。Skip =true将不起作用,至少对于maven-daemon(又名mvndaemon或mvnd)。


在pom.xml中

第一个选择:使用属性

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

第二个选项:使用构建> pluginManagement > plugins > plugin >配置

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.5.3</version>
                <configuration>
                    <goals>deploy</goals>
                    <arguments>-Dmaven.javadoc.skip=true</arguments>
                </configuration>
            </plugin>

第三个选项:当调用mvn时(这一个不适合我)

 mvn clean install -Dmaven.javadoc.skip=true