2

我从事几个项目,我经常需要在它们上进行 maven-install。有没有办法在许多项目上一个接一个地执行许多 Maven 构建?我希望我可以理解。

感谢帮助

4

2 回答 2

0

好吧,您可以编写脚本并使用 maven 的 -f 开关来指定一个接一个地构建哪个 pom...

如果你想坚持使用 maven,你可以使用 maven exec 插件制作一个专用的 pom 来调用你的构建序列。但这会导致令人讨厌的 pom。使用它作为最后的手段,因为插件应该在 maven 生命周期的一个阶段只使用一次。在某些情况下它可能很方便,例如你希望能够在不同的平台上运行你的构建并且不想使用 python 编写脚本等。):

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <configuration>
                <executable>mvn</executable>
                <arguments>
                    <argument>-DskipTests=true</argument>
                    <argument>-f</argument>
                    <argument>${basedir}/relative/path/to/other/module/pom.xml</argument>
                    <argument>clean</argument>
                    <argument>install</argument>
                </arguments>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <configuration>
                <executable>mvn</executable>
                <arguments>
                    <argument>-DskipTests=true</argument>
                    <argument>-f</argument>
                    <argument>${basedir}/relative/path/to/some/other/module/pom.xml</argument>
                    <argument>clean</argument>
                    <argument>install</argument>
                </arguments>
            </configuration>
        </plugin>
    </plugins>
<build>

<pluginManagement>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <executions>
            <execution>
                <phase>process-resources</phase>
                <goals>
                    <goal>exec</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
<pluginManagement>
于 2013-06-20T18:32:44.167 回答
0

我也在寻找那个。但是对只创建一个新的主 maven 项目并添加所有其他项目以构建为它的模块项目并不满意。

这样我就可以通过触发主项目构建来触发所有项目构建。但是,这仍然无法消化。

于 2013-06-20T13:58:32.310 回答