2013-02-06 85 views
14

我試圖用vaadin 7.0.0將示例應用程序與eclipse的maven插件打包在一起,但每次運行目標「包」時,構建失敗以下錯誤:Maven構建錯誤:執行目標失敗,缺少類

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project essai: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile failed: A required class was missing while executing org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile: org/codehaus/plexus/compiler/util/scan/InclusionScanException 
[ERROR] ----------------------------------------------------- 
[ERROR] realm = plugin>org.apache.maven.plugins:maven-compiler-plugin:2.3.2 
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy 
[ERROR] urls[0] = file:/C:/Users/Benoit/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.jar 
[ERROR] urls[1] = file:/C:/Users/Benoit/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar 
[ERROR] Number of foreign imports: 1 
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]] 

MVN包-X的結果是在這裏:http://pastebin.com/jk5uW8Ut

我的pom.xml如下: http://maven.apache.org/maven-v4_0_0。 xsd「> 4.0.0 com.mycompany essai 戰爭 0.0.1-SNAPSHOT Vaadin Web應用程序

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <vaadin.version>7.0.0.rc2</vaadin.version> 
    <vaadin.plugin.version>${vaadin.version}</vaadin.plugin.version> 
</properties> 
<repositories> 
    <repository> 
     <id>vaadin-addons</id> 
     <url>http://maven.vaadin.com/vaadin-addons</url> 
    </repository> 
    <repository> 
     <id>vaadin-snapshots</id> 
     <url>http://oss.sonatype.org/content/repositories/vaadin-snapshots/</url> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
    </repository> 
</repositories> 
<pluginRepositories> 
    <pluginRepository> 
     <id>vaadin-snapshots</id> 
     <url>http://oss.sonatype.org/content/repositories/vaadin-snapshots/</url> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
    </pluginRepository> 
</pluginRepositories> 
<dependencies> 
    <dependency> 
     <groupId>com.vaadin</groupId> 
     <artifactId>vaadin-server</artifactId> 
     <version>${vaadin.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>com.vaadin</groupId> 
     <artifactId>vaadin-client-compiled</artifactId> 
     <version>${vaadin.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>com.vaadin</groupId> 
     <artifactId>vaadin-client</artifactId> 
     <version>${vaadin.version}</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.vaadin</groupId> 
     <artifactId>vaadin-themes</artifactId> 
     <version>${vaadin.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.4</version> 
     <scope>provided</scope> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
     <!-- As we are doing "inplace" GWT compilation, ensure the widgetset --> 
     <!-- directory is cleaned properly --> 
     <plugin> 
      <artifactId>maven-clean-plugin</artifactId> 
      <version>2.4.1</version> 
      <configuration> 
       <filesets> 
        <fileset> 
         <directory>src/main/webapp/VAADIN/widgetsets</directory> 
        </fileset> 
       </filesets> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>com.vaadin</groupId> 
      <artifactId>vaadin-maven-plugin</artifactId> 
      <version>${vaadin.plugin.version}</version> 
      <configuration> 
       <extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs> 
       <!-- <runTarget>mobilemail</runTarget> --> 
       <!-- We are doing "inplace" but into subdir VAADIN/widgetsets. This 
        way compatible with Vaadin eclipse plugin. --> 
       <webappDirectory>${basedir}/src/main/webapp/VAADIN/widgetsets 
       </webappDirectory> 
       <hostedWebapp>${basedir}/src/main/webapp/VAADIN/widgetsets 
       </hostedWebapp> 
       <noServer>true</noServer> 
       <!-- Remove draftCompile when project is ready --> 
       <draftCompile>false</draftCompile> 
       <compileReport>true</compileReport> 
       <style>OBF</style> 
       <strict>true</strict> 
       <runTarget>http://localhost:8080/</runTarget> 
      </configuration> 
      <executions> 
       <execution> 
        <configuration> 
         <!-- if you don't specify any modules, the plugin will find them --> 
         <!-- <modules>  <module>com.vaadin.demo.mobilemail.gwt.ColorPickerWidgetSet</module> 
          </modules> --> 
        </configuration> 
        <goals> 
         <goal>resources</goal> 
         <goal>update-widgetset</goal> 
         <goal>compile</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>org.mortbay.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
     </plugin> 
    </plugins> 
    <pluginManagement> 
     <plugins> 
      <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.--> 
      <plugin> 
       <groupId>org.eclipse.m2e</groupId> 
       <artifactId>lifecycle-mapping</artifactId> 
       <version>1.0.0</version> 
       <configuration> 
        <lifecycleMappingMetadata> 
         <pluginExecutions> 
          <pluginExecution> 
           <pluginExecutionFilter> 
            <groupId>com.vaadin</groupId> 
            <artifactId> 
             vaadin-maven-plugin 
            </artifactId> 
            <versionRange> 
             [7.0.0.rc2,) 
            </versionRange> 
            <goals> 
             <goal>resources</goal> 
             <goal>update-widgetset</goal> 
             <goal>compile</goal> 
            </goals> 
           </pluginExecutionFilter> 
           <action> 
            <ignore></ignore> 
           </action> 
          </pluginExecution> 
         </pluginExecutions> 
        </lifecycleMappingMetadata> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 
</project> 

我是新來的Maven和即使我發現很多帖子關於這個錯誤,我一直無法理解什麼可能導致此錯誤。

+0

請用'-X'命令行選項附加執行輸出。 –

+0

它在這裏http://pastebin.com/jk5uW8Ut(無法粘貼在帖子中) – Ben

回答

14

這裏似乎是這個問題:

[FATAL] Non-parseable POM C:\Users\Benoit.m2\repository\org\apache\maven\maven-parent\16\maven-parent-16.pom

因爲這個錯誤的Maven無法添加到插件的類路徑中所有必要的庫文件。

我建議您刪除C:\Users\Benoit\.m2\repository\org\apache\maven\下的所有內容並重建項目。這應該有所幫助。

+0

這解決了我的問題,非常感謝! – Ben

+0

@BenoitHnte不客氣。 –

+1

我沒有相同的致命錯誤,但仍幫助我通過刪除〜/ .m2除settings.xml以外的所有內容來解決問題。謝謝! –

相關問題