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

java maven exec-maven-plugin无法在mvn全新安装上执行

徐文斌
2023-03-14
问题内容

我正在詹金斯盒子上运行用maven构建的jUnit4测试。在构建测试阶段之前,我需要运行特定的主方法Java程序。目的是在测试运行之前还原测试数据库。

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

具体来说,它运行:
mvn -X exec:java generate-test-resources

但不能与以下内容一起运行:
mvn -X -e install
-或-
mvn -X -e clean install

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
]

问题答案:

在定义了插件的情况下<pluginManagement>,您实际上是在告诉maven在调用插件时将在整个项目中使用哪个版本的插件。我通常希望<pluginManagement>标签出现在父pom中。

要调用插件-只需放置<plugins/>元素。它可能会或可能不会从

因此,要使用该插件,您只需通过输入以下内容来调用该插件

<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>

没有任何<pluginManagement>标签



 类似资料:
  • 我正在做一个教程在AEM的wknd一个。我从Github克隆的。为发布实例运行后,我得到以下错误。我听从了这一建议,但这并不能解决问题。 更新: Maven和Java版本:

  • 我是学习java编程的新手!我想在一个maven项目中制作一个. jar。运行此命令< code>mvn全新安装后,我收到以下错误消息: 无法执行目标org.apache.maven.plugins: maven-compiler-plugin: 2.3.2: compile(default-compile)on project wps-demo:编译失败 在C:\Program Files\Ja

  • 我正在尝试用Maven安装UIMA JDK。然而,总有一个警告 请帮助我解决此问题

  • 我有一个Spring Boot2项目,这是一个ReST API,我正在使用Spring ReST。 我正在使用2个插件来生成一个SDK其他项目导入调用我的API。第一个插件是以生成swagger-codegen-spec文件,第二个插件是,以生成实际的SDK文件作为另一个mvn项目。 最后,我实现了组件测试自动化,这些组件测试使用SDK对正在运行的API运行测试。 我的目标是实际构建SDK作为原始

  • 在更新到Appengine版本1.9.10后,我无法使用maven命令mvn Appengine:update直接在Appengine上部署应用程序,并引发以下异常: [错误]找不到目标“update;”在plugin com.google.appengine中:appengine-maven-plugin:1.9.10在可用目标中[错误]使用-x开关重新运行Maven以启用完全调试日志记录。[错

  • 我按照本教程尝试在我的远程Centos服务器上安装maven http://www.unixmen.com/install-apache-ant-maven-tomcat-centos-76-5/