【问题标题】:Maven phase executing twiceMaven阶段执行两次
【发布时间】:2011-05-14 07:31:18
【问题描述】:

我需要生成一些源,所以我在 generate-sources 生命周期阶段附加了一个插件目标。

当我运行 mvn package 时,它运行良好,但是当我运行 mvn install 时,我注意到我的源代码生成插件执行了两次。

        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
                <execution>
                    <id>generate-sources-id</id>
                    <phase>generate-sources</phase>
                    <configuration>
                        <tasks>
                            <property name="build.compiler" value="extJavac" />

                            <ant target="generate-sources-from-ant" />
                        </tasks>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

有什么办法可以解决这个问题吗?

【问题讨论】:

标签: maven plugins phase


【解决方案1】:

我遇到了类似的问题,因为我使用了 maven-source-plugin 解决方案是将目标更改为 jar-no-fork

         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.1.2</version>
            <executions>
                <execution>
                    <goals>
                        <goal>jar-no-fork</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

【讨论】:

    【解决方案2】:

    您是否碰巧将 jetty 插件绑定到预集成测试,或者通过安装范围绑定到包中某处的某个阶段的其他插件?也许cobertura插件? jetty 和 cobertura 插件 - 以及其他插件 - 从主构建分叉一个新构建来完成他们的一些工作。这将导致您的插件绑定到 generate-sources 执行两次。根据导致问题的插件,解决方案会有所不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-17
      • 1970-01-01
      • 2012-01-26
      • 1970-01-01
      • 2012-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多