当前位置: 首页 > 面试题库 >

Maven执行器插件的用法

胡鸿禧
2023-03-14
问题内容

我想使用Maven强制执行器插件检查我的路径上是否有重复的类。我从这里尝试过这个例子。

但是当我这样运行时:

mvn enforcer:enforce

我得到这个:

无法在项目datapopulator上执行目标org.apache.maven.plugins:maven-enforcer-
plugin:1.0.1:enforce(default-cli):目标org.apache.maven.plugins:maven-
enforcer的参数’rules’ -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>

产生相同的错误。


问题答案:

您的第一个版本无法正常工作的原因是,执行标记内的插件配置与执行标记外的插件配置之间存在差异。仅当您的插件由完整的Maven构建的特殊阶段触发时,才使用执行。

在Maven的指导,配置更好地解释它:

标签内部的配置与外部的配置不同,因为不能从直接命令行调用中使用它们。相反,仅当它们绑定到的生命周期阶段被调用时才应用它们。另外,如果将配置部分移到执行部分之外,它将全局应用于该插件的所有调用



 类似资料:
  • 我是maven的新手,学习如何以及何时在插件中执行阶段/目标 假设我的pom中有以下代码片段 现在,如果我执行mvn安装,安装之前的modello的所有阶段(以及每个阶段对应的所有目标)都将执行。正当 但是,如果进行以下修改以引入特定目标,则只会执行一个目标,即java目标(因为它位于安装阶段之前的生成源代码阶段)。对吗?

  • 我正在尝试使用shade插件创建一个可执行JAR的简单示例。我逐行浏览了这里的示例,在我的机器上似乎根本没有执行shade插件。 我的阴影POM代码是: 运行“mvn包”后,创建的JAR不包含任何项目依赖项。从调试跟踪来看,似乎从未调用过shade插件。要让shade发挥其魔力,是否还需要一些额外的步骤? 编辑:示例的完整代码位于https://github.com/hutch31/maven-s

  • 问题内容: 从jmeter-maven-plugin执行JMeter时可以使用JMeter 插件吗? 更新 我尝试按照Ardesco的有用答案将依赖项添加到插件定义中,但是却得到了无数的。它 看起来 像Maven是不是把执行的JMeter时的传递依赖的类路径。有任何想法吗? 问题答案: 尽管此答案被接受,但仅适用于2.X之前的版本。但是对于高于2.X的版本,请参见此答案。 使用2.6.0版或更高版

  • 在我当前的项目设置中,maven shade插件的执行非常不稳定。这个插件看起来像是在我构建父模块之后执行的,但是在那个实例中执行之后,它在独立构建子模块时无法执行。 我的父母是 还有孩子pom 以及在具有上述pom的子模块上运行“安装”目标时的构建输出 如您所见,尽管在< code >中定义了执行,maven shade插件并没有执行

  • 我一直在尝试重命名tika应用程序类。由于类路径上的重复类,存在加载冲突。当我尝试运行maven install-e时,它会抛出错误,我想使用 Apache.Tika组织 分类为 com.test1.tika pom.xml文件如下所示 mvn package命令的错误如下: null

  • 问题内容: 我有一个安装程序,其中我的大多数项目都需要同时运行xtend插件才能实现compile和testCompile目标。我在pluginManagement部分中对其进行描述: 现在,有些项目不需要一个目标或另一个目标。我尝试了继承的标签,使用了随机属性,但是没有用。如何覆盖执行以仅包含所需目标? 更新 :这个故事的结论是,个人目标不能残废。可以管理的最小范围是。 问题答案: 通常,您只能