使用 Maven enforcer 跳过模块
Skip module with Maven enforcer
我在根 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>
在模块的POM中,将enforcer.skip
设置为true
:
<properties>
<enforcer.skip>true</enforcer.skip>
</properties>
或者,当从命令行构建特定模块时,您可以使用以下命令选项。
mvn -Denforcer.skip=true clean install
mvn -Denforcer.skip=true clean package
我在根 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>
在模块的POM中,将enforcer.skip
设置为true
:
<properties>
<enforcer.skip>true</enforcer.skip>
</properties>
或者,当从命令行构建特定模块时,您可以使用以下命令选项。
mvn -Denforcer.skip=true clean install
mvn -Denforcer.skip=true clean package