我想使用Maven执行插件来检查是否有重复的类在我的路径上。
我已经尝试过来自这里的例子。
但当我这样做的时候:
mvn enforcer:enforce
我知道这个错误:
未能在项目数据集上执行目标org.apache.maven.plugins:maven-enforcer-plugin:1.0.1:enforce (默认-cli):目标org.apache.maven.plugins:maven-enforcer-plugin:1.0.1:enforce的参数“规则”丢失或无效
有什么方法可以正确使用这个吗?
编辑#1
如果将我的配置更改为:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.0.1</version>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<AlwaysPass />
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>产生同样的错误。
发布于 2011-07-20 10:20:33
您的第一个版本不起作用的原因是执行标记内的插件配置与执行标记之外的插件配置之间存在差异。只有当插件由完整Maven构建的特定阶段触发时,才会使用该执行。
配置指南更好地解释了这一点:
标记内部的配置与外部配置不同,因为它们不能通过直接命令行调用来使用。相反,它们只在被绑定到的生命周期阶段被调用时应用。或者,如果您将配置部分移出执行部分之外,则它将全局应用于插件的所有调用。
发布于 2011-09-15 13:44:02
尝试这样做,将配置移到外部执行,这样它就不会被绑定到生命周期阶段。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.0.1</version>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
<configuration>
<rules>
<AlwaysPass />
</rules>
<fail>true</fail>
</configuration>
</plugin>现在,当您执行mvn enforcer:enforce时,它会从您的pom.xml中选择规则。
发布于 2015-09-16 11:01:03
看这些答案
您可以使用特殊的默认命令行执行id ( default )来调用它(请参阅Maven Docs),请参见下面的示例。这至少适用于3.1.1,引用的文章说,它应该与2.2.0+一起工作
mvn enforcer:enforce但是,如果您使用的是上面的 Maven 3.1.1 (我可以确认它在3.3.3中与执行器v1.4.1一起工作),您可以使用新的@语法指定您希望的执行id (请参阅Maven JIRA和上面的答案);
例如,在下面的例子中使用
mvn enforcer:enforce@dependency-convergence这是我的笔录上的一段片段;
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4.1</version>
<executions>
<execution>
<id>dependency-convergence</id>
<phase>install</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<DependencyConvergence />
</rules>
<fail>true</fail>
</configuration>
</execution>
<execution>
<id>default-cli</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<DependencyConvergence/>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
...https://stackoverflow.com/questions/6754974
复制相似问题