1

我有一个配置文件,我想在所有模块的安装阶段完成后执行该配置文件。说我有

<modules>
    <a>
    <b>
    <c>
</modules>

然后我定义了一个 id 为的配置文件generate-reports

<profile>
    <id>generate-reports</id>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.2.1</version>
                <executions>
                  <execution>
                    <id>run-cmd</id>
                    <!--DO NOT BIND WITH PHASE-->
                    <phase>install</phase>
                    <goals>
                      <goal>exec</goal>
                    </goals>
                   </execution>
                </executions>
                <configuration>
                  <executable>executable-name</executable>
                  <arguments>
                    <argument>-o</argument>
                    <argument>output.txt</argument>
                  </arguments>
                </configuration>
            </plugin>
        </plugins>
    </build>
</profile>

此配置文件是一个报告生成配置文件,它将进入每个模块并在那里生成报告。但问题是,如果我想在每个报告的测试用例运行后生成报告。安装时不应为每个模块调用此配置文件。只有在完成安装后才应该调用它。换句话说,我正在寻找类似 mvn install generate-reports 甚至“mvn generate-reports”的东西(假设我已经mvn install单独运行)。总之,我不想将配置文件与阶段绑定,并且希望独立于阶段运行配置文件。

有没有插件可以做到这一点?

4

1 回答 1

1

您可以通过调用目标名称来启动任何目标,例如:

mvn help:effective-pom

在你的情况下,这应该是:

mvn exec:exec

正如>here<中所述,您也可以这样做:

mvn clean install exec:exec

这应该在调用您的报告插件之前完成完整的“安装”。

于 2013-01-07T10:45:27.093 回答