You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven:如何通过自定义标志禁用Spring Boot项目中的指定插件

实现通过自定义Maven参数禁用springdoc-openapi-maven-plugin

当然可以实现这个需求!下面给你两种简单直接的配置方案,都能满足你通过-Dexc参数禁用springdoc-openapi-maven-plugin的要求:

方案1:通过属性绑定直接控制插件skip状态

这是最简洁的方式,直接把插件的skip配置和自定义参数关联起来:

  1. 首先在pom.xml的<properties>节点中添加一个属性,默认启用插件,当传入-Dexc=true时切换为禁用:
<properties>
    <!-- 默认启用插件,传入-Dexc=true时禁用 -->
    <skip.springdoc.plugin>${exc:false}</skip.springdoc.plugin>
</properties>
  1. 修改你的springdoc插件配置,添加<skip>配置绑定上面的属性:
<plugin>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-maven-plugin</artifactId>
    <version>${springdoc-openapi-maven.version}</version>
    <configuration>
        <apiDocsUrl>http://localhost:XXXX/v3/api-docs</apiDocsUrl>
        <outputDir>${project.basedir}/openapi</outputDir>
        <!-- 绑定自定义属性控制是否跳过插件执行 -->
        <skip>${skip.springdoc.plugin}</skip>
    </configuration>
    <executions>
        <execution>
            <phase>integration-test</phase>
            <goals>
                <goal>generate</goal>
            </goals>
        </execution>
    </executions>
</plugin>

使用方式:

  • 正常构建(插件会运行):mvn clean install
  • 禁用插件构建:mvn clean install -Dexc=true

如果你想简化成只输入-Dexc(不需要加=true),可以保持属性配置不变,但要注意Maven中单独的-Dexc会把exc属性设为空字符串,部分场景下可能需要额外调整,或者用方案2的Profile方式更稳妥。

方案2:通过Maven Profile实现条件禁用

这种方式更灵活,适合需要在禁用插件时同时调整其他配置的场景:

在pom.xml的<profiles>节点中添加一个专门用来禁用springdoc插件的Profile:

<profiles>
    <profile>
        <id>disable-springdoc</id>
        <!-- 当传入-Dexc参数时自动激活这个Profile -->
        <activation>
            <property>
                <name>exc</name>
            </property>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springdoc</groupId>
                    <artifactId>springdoc-openapi-maven-plugin</artifactId>
                    <configuration>
                        <!-- 激活Profile时跳过插件执行 -->
                        <skip>true</skip>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

使用方式:

  • 正常构建(插件会运行):mvn clean install
  • 禁用插件构建:mvn clean install -Dexc(这里不需要加=true,只要传入-Dexc就会激活Profile)

推荐方案

如果只是单纯禁用插件,方案1更简洁直接;如果需要在禁用插件的同时调整其他Maven配置(比如跳过测试、修改打包参数等),方案2的Profile方式会更合适。

内容的提问来源于stack exchange,提问作者Guilty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 08:19:12