即使没有任何改变,Maven Eclipse Autobuilder仍在继续建设

时间:2011-12-14 11:45:06

标签: eclipse maven m2e auto-build

我使用Eclipse(Indigo)和maven的M2E插件。现在由于某种原因,autobuilder继续重建项目,在他满意之前没有变化大约50次,这需要大量资源并且是一个重大的痛苦...

我一次又一次得到以下输出:

14.12.11 12:32:17 MEZ: Maven Builder: AUTO_BUILD requireFullBuild
14.12.11 12:32:17 MEZ: [WARN] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
14.12.11 12:32:17 MEZ: [INFO] Copying 2 resources
14.12.11 12:32:17 MEZ: [INFO] Nothing to compile - all classes are up to date
14.12.11 12:32:17 MEZ: [WARN] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
14.12.11 12:32:17 MEZ: [INFO] Copying 5 resources

我尝试禁用自动生成器并将Maven设置为脱机但似乎没有任何帮助。为什么他甚至“需要一个完整的版本”?

此行为也会因代码中的任何内容更改而触发,但是很小(例如将最终变量设置为不同的int值)。

如何追溯到源?其他项目似乎没有显示出这种行为。我不明白M2E如何获得完整重建的印象,即使它确实如此......

谢谢!

按评论编辑:

我们在pom中设置了以下插件:

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <configLocation>checkstyle.xml</configLocation>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>

            <!-- Javadoc -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- Source Jar -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-java2ws-plugin</artifactId>
                <version>${cxf.version}</version>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.cxf</groupId>
                        <artifactId>cxf-rt-frontend-jaxws</artifactId>
                        <version>${cxf.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.apache.cxf</groupId>
                        <artifactId>cxf-rt-frontend-simple</artifactId>
                        <version>${cxf.version}</version>
                    </dependency>
                </dependencies>

                <executions>
                    <execution>
                        <id>process-classes</id>
                        <phase>process-classes</phase>
                        <configuration>
                            <className>path.to.PersonService</className>
                            <genWsdl>true</genWsdl>
                            <verbose>true</verbose>
                        </configuration>
                        <goals>
                            <goal>java2ws</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-webdav-jackrabbit</artifactId>
                <version>1.0</version>
            </extension>
        </extensions>

    </build>

2 个答案:

答案 0 :(得分:4)

1.清除maven eclipse项目:
mvn clean eclipse:clean -Dmaven.test.skip
2.创建maven项目:
mvn clean eclipse:eclipse
3.在eclipse IDE中导入并刷新你的项目。

执行这些步骤后,错过了自动构建循环日志。

答案 1 :(得分:1)

这取决于你绑定到哪些插件到包括编译在内的各个阶段。 M2E应该处理默认插件(maven-compiler-plugin,maven-resources-plugin)等。你是否包含了一些代码生成(JAXB等)插件?

修改

我对m2e和代码生成没有任何问题;最终我回到了m2eclipse,这仍然是非常错误的。

我建议您将cxf wsdl生成移动到同一项目的不同模块,然后将其添加为依赖项。在Eclipse中保持该项目关闭(一旦你mvn install&#39;},除非你正在编辑它。

希望随着m2e的改进,这种解决方法将变得不必要。