Maven插件额外执行

时间:2011-10-25 18:48:14

标签: maven-plugin

我需要在同一阶段多次执行相同的maven插件。

我想要的是什么:

  1. 执行maven-assembly-plugin
  2. 执行myplugin(取决于步骤1)
  3. 再次执行maven-assembly-plugin(取决于步骤2)
  4. 再次执行myplugin(取决于步骤3)
  5. 顺序定义插件时的执行顺序(与上面相同的顺序):

    1. 执行maven-assembly-plugin
    2. 再次执行maven-assembly-plugin
    3. 执行myplugin
    4. 再次执行myplugin
    5. 我的解决方案是在我自己的插件中组合所有执行来控制确切的顺序,但我不认为这是最好的方法。谢谢!

1 个答案:

答案 0 :(得分:2)

你是否必须在同一阶段运行插件?你能不能使用其他一些相关的阶段? Maven现在有很多阶段:)例如“prepare-package”与“package”。我可能会尝试为这个插件定义多个执行(bwt这不是真实场景):

         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2.1</version>
            <executions>
                <execution>
                    <id>assembly1</id>
                    <goals>
                        <goal>assembly</goal>
                    </goals>
                    <phase>prepare-package</phase>
                    <configuration>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                </execution>
                <execution>
                    <id>assembly2</id>
                    <goals>
                        <goal>assembly</goal>
                    </goals>
                    <phase>package</phase>
                    <configuration>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                </execution>
            </executions>
        </plugin>

不确定它是否适用于您想要的订单。可能值得一试。