我使用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>
答案 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的改进,这种解决方法将变得不必要。