【问题标题】:Skip module with Maven enforcer使用 Maven 执行器跳过模块
【发布时间】:2020-09-08 10:36:01
【问题描述】:

我在根 pom 的多节点项目中使用enforcer 插件,但我有一个测试模块,我并不关心在那里运行插件,因为它不会创建任何 jar 和仅用于测试目的。有没有办法跳过插件配置中的模块之一?。

检查文档我找不到任何东西。只是如何禁止一些特定的依赖。 https://maven.apache.org/enforcer/enforcer-rules/bannedDependencies.html

将插件放在每个子模块中的解决方案是可行的,但很危险,因为如果我创建一个新的子模块,我可能会忘记在其中添加它。

这是我的插件配置。

      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>3.0.0-M3</version>
          <executions>
            <execution>
              <id>enforce-maven-version-and-dependencies</id>
              <goals>
                <goal>enforce</goal>
              </goals>
              <configuration>
                <rules>
                  <requireMavenVersion>
                    <version>3.3.9</version>
                  </requireMavenVersion>
                  <bannedDependencies>
                    <searchTransitive>true</searchTransitive>
                  </bannedDependencies>
                  <dependencyConvergence></dependencyConvergence>
                </rules>
              </configuration>
            </execution>
          </executions>
          <configuration>
            <fail>true</fail>
          </configuration>
        </plugin>

【问题讨论】:

    标签: java maven maven-plugin maven-enforcer-plugin


    【解决方案1】:

    在模块的POM中,将enforcer.skip设置为true

    <properties>
      <enforcer.skip>true</enforcer.skip>
    </properties>
    

    【讨论】:

      【解决方案2】:

      或者,从命令行构建特定模块时,您可以使用以下命令选项。

      mvn -Denforcer.skip=true clean install
      mvn -Denforcer.skip=true clean package
      

      【讨论】:

      • =true 不是必需的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-11
      • 1970-01-01
      • 2012-09-17
      • 2019-10-10
      • 2012-05-30
      相关资源
      最近更新 更多