当前位置: 首页 > 知识库问答 >
问题:

Maven执行者插件缺少或无效的规则

黄兴业
2023-03-14

我正在尝试为maven设置enforcer插件,以强制执行最低Java版本。但是,每当我尝试运行mvn enforcer:enforce,我都会得到:

目标组织的参数“规则”。阿帕奇。专家插件:maven enforcer插件:1.3.1:enforce缺失或无效

以下是我的pom文件的相关部分:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-enforcer-plugin</artifactId>
    <version>1.3.1</version>
    <executions>
        <execution>
            <id>enforce-java</id>
            <phase>validate</phase>
            <goals>
                <goal>enforce</goal>
            </goals>
            <configuration>
                <rules>
                    <requireJavaVersion>
                        <version>(1.7.0-20,)</version>
                    </requireJavaVersion>
                </rules>
            </configuration>
        </execution>
    </executions>
</plugin>

我还尝试替换


共有3个答案

羊禄
2023-03-14

在我的例子中,问题是我将enforcer配置放在Maven概要文件的构建部分中,当我运行mvn validate时,该概要文件没有被构建。一个简单的mvn验证-P correctProfile为我修复了它。最后,我将其放入一个多模块应用程序的父项目中,将字节码执行器规则的传递搜索设置为true:

游炳
2023-03-14

我在尝试构建vertx workshop项目时遇到了完全相同的错误。事实证明,该错误主要是与enforcer插件版本相关的问题。下面的配置为我解决了这个问题。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-enforcer-plugin</artifactId>
  <version>3.0.0-M3</version><!--$NO-MVN-MAN-VER$-->
  <executions>
    <execution>
      <id>enforce-java</id>
      <phase>enforce</phase>
      <goals>
        <goal>enforce</goal>
      </goals>
      <configuration>
        <rules>
          <requireJavaVersion>
            <version>(1.8.0,)</version>
          </requireJavaVersion>
        </rules>
      </configuration>
    </execution>
  </executions>
</plugin>
秦禄
2023-03-14

可能是您使用的规则名称无效。查看规则页面。规则名称区分大小写。虽然这里不是这样。

----编辑----

请注意,POM配置的执行ID为udaced-java,并且该执行绑定到生命周期的valester阶段。命令mvn强制执行:强制执行运行的是一个目标,而不是生命周期中的一个阶段。您在POM中提供的配置不适用于强制执行器:强制执行目标。

有两种方法可以做到这一点。你选择哪一个取决于你需要什么。

  1. 如果您只是尝试测试enforcer插件配置,而没有运行整个构建,请运行mvn validate
  2. 如果要求mvn enforcer:enforce工作,则将执行ID更改为default cli
 类似资料:
  • 我将与NetBean IDE 8.1一起使用。 我是Maven和JavaFX打包的新手,所以我期待一些易于使用和理解的东西。

  • 问题内容: 我们有一个Maven多模块项目,其中包含一个父级(HelloWorld)和不同的子级(HelloWorldServices和HelloWorldPresentation),并使用Jenkins进行构建。 运行成功的测试后的错误是 前面的线说 这是我定义父pom JaCoCo插件的方式: 我没有明确提到过surefire。我还尝试了到处都可以找到的将argLine放入配置中的结果,但是所

  • 我们有一个Maven多模块项目,由父级(HelloWorld)和不同的子级(HelloWorldServices和HelloWorldPresentation)组成,并使用Jenkins进行构建。 运行成功测试后的错误是

  • 我想使用weblogic maven插件从wsdl创建一个webservice客户端 基于此页面:http://docs.oracle.com/middleware/1212/wls/DEPGD/maven_deployer.htm#DEPGD383我已经从服务器使用wljarBuilder生成了maven插件 /lib java-jar-wljarbuilder。jar-配置weblogic m

  • 我试图通过DropBox系列中提供的API启用Dropbox操作 这里是生成的url: https://api.dropbox.com/1/metadata/sandbox/public/2WayServiceOverview.pdf?oauth_consumer_key=XXXXXX 当然有些数据我替换不分享所有:-) 授权通过后,我获得访问代码,然后得到{“错误”:“无效或缺少签名”} 文件p

  • 一点背景:我是一个AEM项目的FE开发人员。该项目是一个SPA AEM作为云服务。我从命令行运行作者实例。 我的电脑规格是: CPU: Intel(R)Core(TM)i5-7400 CPU@3.00GHz 3.00 GHz RAM: 24.0 GB SSD: 476 GB 操作系统:Windows 10 Pro 对于我们正在使用的AEM项目 Javasdk 11 Maven 3.6.3 我已经设