2011-08-09 4 views
6

Kiedy próbuję utworzyć projekt Maven z tymi parametrami: Identyfikator grupy archetypu - org.codehaus.mojo; Archetype Artifact Id - gwt-maven-plugin; Wersja Archetypu - 2.3.0-1. mam jakieś dziwne błędy:Po prostu projekt GWT 2.3 i Maven2 (3) w Eclipse Indigo

  • wykonanie Plugin nieobjętych cyklem konfiguracji: org.codehaus.mojo: GWT-maven-plugin: 2.3.0-1: generateAsync (wykonanie: domyślne, fazy: generowanie -sources)

  • wykonanie Plugin nieobjęte cyklem konfiguracji: org.codehaus.mojo: GWT-maven-plugin: 2.3.0-1: i18n (wykonanie: default, faza: generate-sources)

  • Wykonanie wtyczki nie jest objęte konfiguracją cyklu życia: org.apache.maven.plugins: maven-war-plugin: 2.1 0,1: eksplodował (wykonanie: default, faza: skompilować)

A niektóre ostrzeżenia jak:

  • Realizacja projektu jst.web facet nie może zostać odnaleziona. Funkcjonalność będzie ograniczona.

  • Nie można znaleźć implementacji strony facet.jsdt.web. Funkcjonalność będzie ograniczona.

To mój pom.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<project 
    xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 

    <!-- POM file generated with GWT webAppCreator --> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>net.test1</groupId> 
    <artifactId>TestWebApp</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>GWT Maven Archetype</name> 

    <properties> 
    <!-- Convenience property to set the GWT version --> 
    <gwtVersion>2.3.0</gwtVersion> 
    <!-- GWT needs at least java 1.5 --> 
    <webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <dependencies> 
    <dependency> 
     <groupId>com.google.gwt</groupId> 
     <artifactId>gwt-servlet</artifactId> 
     <version>${gwtVersion}</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.google.gwt</groupId> 
     <artifactId>gwt-user</artifactId> 
     <version>${gwtVersion}</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.7</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId> 
     <version>1.0.0.GA</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId> 
     <version>1.0.0.GA</version> 
     <classifier>sources</classifier> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 

    <build> 
    <!-- Generate compiled stuff in the folder used for developing mode --> 
    <outputDirectory>${webappDirectory}/WEB-INF/classes</outputDirectory> 

    <plugins> 

     <!-- GWT Maven Plugin --> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>gwt-maven-plugin</artifactId> 
     <version>2.3.0-1</version> 
     <executions> 
      <execution> 
      <goals> 
       <goal>compile</goal> 
       <goal>test</goal> 
       <goal>i18n</goal> 
       <goal>generateAsync</goal> 
      </goals> 
      </execution> 
     </executions> 
     <!-- Plugin configuration. There are many available options, see 
      gwt-maven-plugin documentation at codehaus.org --> 
     <configuration> 
      <runTarget>TestWebApp.html</runTarget> 
      <hostedWebapp>${webappDirectory}</hostedWebapp> 
      <i18nMessagesBundle>net.test1.TestWebApp.client.Messages</i18nMessagesBundle> 
     </configuration> 
     </plugin> 

     <!-- Copy static web files before executing gwt:run --> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.1.1</version> 
     <executions> 
      <execution> 
      <phase>compile</phase> 
      <goals> 
       <goal>exploded</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <webappDirectory>${webappDirectory}</webappDirectory> 
     </configuration> 
     </plugin> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.3.2</version> 
     <configuration> 
      <source>1.5</source> 
      <target>1.5</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 

</project> 

I tak dalej. Co to jest? Wypróbowałem wszystkie możliwe podręczniki w Internecie i wszędzie to samo. Próbowałem utworzyć projekt manualy bez zaćmienia i tak samo. Myślę, że problem polega na tym, że podręczniki w Internecie pisały dla starej wersji Eclipse, Maven, GWT. Jak mogę go pokonać? Jak mogę po prostu stworzyć prosty projekt z wtyczką GWT 2.3, Maven2 i Eclipse Indigo bez ostrzeżeń o błędach?

+0

Mam podobne błędy, ale kompilacja się powiedzie. Uważam, że te błędy i ostrzeżenia są od m2eclipse. Czy masz zainstalowany program m2eclipse? – Adi

Odpowiedz

11

Jest to znane zachowanie, omówione na wiki Eclipse. Zobacz tutaj: http://wiki.eclipse.org/M2E_plugin_execution_not_covered.

Nie komentuj tylko problematycznych sekcji twojego pom, naprawdę ich potrzebujesz. Na przykład Wygenerowany komentarz do tej wtyczki maven-war w pom: "Skopiuj statyczne pliki sieciowe przed wykonaniem gwt: run" To się okazuje prawda. Jeśli skomentujesz tę wtyczkę i "mvn clean gwt: run", pliki statyczne nie zostaną skopiowane do folderu docelowego i będą niedostępne dla trybu hostowanego.

Na szczęście obejście jest łatwe. Jeśli otworzysz pom w Eclipse, spójrz w sekcji Przegląd i kliknij komunikat o błędzie u góry, to da ci kilka opcji szybkiej naprawy. Takich jak "Trwale zaznacz cel gubiony w pom.xml jako zignorowany". Spowoduje to dodanie do twojego pom nieco konfiguracji m2e, więc nie będzie już oznaczony jako błąd, a wszystko będzie działać jak poprzednio. Nowo wygenerowana sekcja w twoim pom jest tym, co opisano w powyższym linku jako opcja "ignoruj".

Mam nadzieję, że to pomoże.