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

java maven exec maven插件未在mvn clean install上执行

班言
2023-03-14

上一个问题的后续: Maven在测试阶段前运行类: exec-maven-plugin exec: java不执行类。

我正在jenkins box上运行jUnit4测试,它是用maven构建的。在构建的测试阶段之前,我需要运行一个特定的main-methodjava程序。目的是在测试运行之前恢复测试数据库。

如果我运行这个exec被分配到的确切阶段,我的类将按预期执行;但当我运行整个构建时,我的类不会执行:

具体来说,它运行于:
mvn-X exec:java生成测试资源

但不与以下内容一起运行:
mvn-X-e安装
--或--
mvn-X-e干净安装

pom.xml:我的pom.xml文件包括:

<pluginManagement>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>            
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.3</version>
            <executions>
                <execution>
                    <id>build-test-environment</id>
                    <phase>generate-test-resources</phase>          
                    <goals>
                        <goal>java</goal>           
                    </goals>
                </execution>
            </executions>
            <configuration>
                <mainClass>main.java._tools.BuildTestEnvironment</mainClass>
            </configuration>
        </plugin>
    </plugins>
</pluginManagement>

生命周期默认值:我没有使用maven的生命周期。日志将其报告为:

[DEBUG] Lifecycle default -> [
    validate,
    initialize,
    generate-sources,
    process-sources,
    generate-resources,
    process-resources,
    compile,
    process-classes,
    generate-test-sources,
    process-test-sources,
    generate-test-resources,
    process-test-resources,
    test-compile,
    process-test-classes,
    test,
    prepare-package,
    package,
    pre-integration-test,
    integration-test,
    post-integration-test,
    verify,
    install,
    deploy
]

共有2个答案

傅经业
2023-03-14

Ashish对此很感兴趣:

我以为我需要<代码>

见:

如何解决SpringDataMaven构建中“生命周期配置未涵盖插件执行”的问题

--和--

http://wiki.eclipse.org/M2E_plugin_execution_not_covered

如果你碰到这个,祝你好运!

强化
2023-03-14

使用

要调用插件-只需将

因此,要使用插件,只需通过

<plugins>
        <plugin>            
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.3</version>
            <executions>
                <execution>
                    <id>build-test-environment</id>
                    <phase>generate-test-resources</phase>          
                    <goals>
                        <goal>java</goal>           
                    </goals>
                </execution>
            </executions>
            <configuration>
                <mainClass>main.java._tools.BuildTestEnvironment</mainClass>
            </configuration>
        </plugin>
    ...AnyOtherPlugin
    <plugins>

没有任何

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

  • 我有一个项目,有一个家长POM和三个孩子项目。我想在一个子POM上执行目标assembly:assembly。我已经阅读了下面的文章,但是我没有让它与maven assembly插件一起工作。 在子模块上执行Maven插件目标,但不在父模块上执行 如果我跑 我得到以下错误: [错误]无法执行目标组织。阿帕奇。专家插件:maven程序集插件:2.2-beta-5:项目内部的程序集(默认cli):读取

  • 我正在开发一个应用程序,并在Maven中使用spring boot。我想生成一个可执行jar,但是jar不是在目标文件夹中生成的。我在做mvn清洁包装。这是我的pom文件。

  • 下面是我真正的pom的一部分。集成测试的测试已经在@Test注释中分配了一个“集成”组。为了做小测试,我在测试阶段没有排除“集成”组。 当使用例如mvn验证或mvn安装构建时,集成测试在测试阶段执行,但不是验证或集成测试阶段。考试数量保持为0。不知何故,他们没有被捡起来。有人知道可能出了什么问题吗? 更新:将TestNG作为依赖项添加到故障保护插件没有帮助

  • 我写了一个maven插件,我正在一些项目中使用它。在第一个项目中,它只有一次执行,我可以直接用 在第二个项目中,插件有多个执行,当我尝试上面的命令时,我最终失败了,因为插件尝试使用空参数执行。 请注意,在这两种情况下,插件在作为流程资源阶段的一部分执行时都可以正常工作。只有当我试图执行插件目标时,它才会失败。有人能帮我理解为什么第二个示例尝试使用空白参数执行吗? 第一个项目(一次执行-工程罚款):

  • 我正在使用org.codehaus.mojo exec-maven-plugin通过我的pom.xml项目执行一个可执行的。jar文件。目前这不起作用,我不确定为什么。当我指定CommandLineArgs时会发生错误。 我的插件如下所示: