2011-12-14 39 views
3

我使用Eclipse(Indigo)和Maven的M2E插件。現在,由於某些原因,自動編譯不斷,他感到滿足之前,這需要大量的資源,是一個重大的痛苦與重建大約50倍沒有變化項目...即使沒有任何變化,Maven Eclipse自動編譯器仍在繼續編譯

我一次又一次地得到下面的輸出:

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> 

回答

1

這取決於哪些插件已經綁定的階段直至幷包括編譯。 M2E應該處理默認的插件(maven-compiler-plugin,maven-resources-plugin)等等。你有一些包含代碼生成(JAXB等)的插件嗎?

編輯

我已經沒有與M2E和代碼生成問題結束;最終我又回到了m2eclipse,這仍然是很麻煩的。

我建議您將您的cxf wsdl生成移至同一項目的不同模塊,然後將其添加爲依賴項。除非您正在編輯它,否則請將該項目在Eclipse中關閉(一旦您已經mvn install'd it)。

希望這種解決方法隨着m2e的改進而變得不必要。

+0

是的,我們有幾個插件生成的東西,我已經更新了我的文章。我認爲重建問題始於我們包含CFX wsdl一代的時候。刪除插件似乎有幫助..但爲什麼呢? – Pete 2011-12-14 13:04:49

4

1.clean maven的eclipse項目:
MVN清潔日食:清潔-Dmaven.test.skip
2.創建Maven項目:
MVN清潔日食:日食
3.進口和刷新你的項目在eclipse IDE中。

經過這些步驟,錯過了自動構建循環日誌。