Failed to successfully create a project using GWT-maven-plugin with gwt 2.2

I am following the gwt-maven-plugin documentation along with the Google Web Toolkit Blog document so that the GWT project is clouded but unsuccessfully.

Using eclipse 3.6, I create a new maven project using the gwt-maven-plugin archetype 2.1.0-1

I followed the instructions found here Google Web Toolkit Blog , but it does not work. I get an exception:

  java.lang.NoClassDefFoundError: com / google / appengine / tools / enhancer / Enhance
 Caused by: java.lang.ClassNotFoundException: com.google.appengine.tools.enhancer.Enhance
     at java.net.URLClassLoader $ 1.run (Unknown Source)
     at java.security.AccessController.doPrivileged (Native Method)
     at java.net.URLClassLoader.findClass (Unknown Source)
     at java.lang.ClassLoader.loadClass (Unknown Source)
     at sun.misc.Launcher $ AppClassLoader.loadClass (Unknown Source)
     at java.lang.ClassLoader.loadClass (Unknown Source)
 Exception in thread "main" 

I am using gwt 2.2.0 in GAE 1.4.2 in google eclipse plugin. The same version numbers are used in my pom.xml

Here is the generated pom.xml. It uses gwt version 2.1.0, but I manually changed it to 2.2.0

  <? 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> gwt-comet </groupId>
   <artifactId> gwt-comet-5 </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.2.0 </gwtVersion>
     <! - GWT needs at least java 1.5 ->
     <maven.compiler.source> 1.5 </maven.compiler.source>
     <maven.compiler.target> 1.5 </maven.compiler.target>
     <webappDirectory> $ {project.build.directory} / $ {project.build.finalName} </webappDirectory>
   </properties>

   <dependencies>
     <dependency>
       <groupId> com.google.gwt </groupId>
       <artifactId> gwt-servlet </artifactId>
       <version> 2.2.0 </version>
       <scope> runtime </scope>
     </dependency>
     <dependency>
       <groupId> com.google.gwt </groupId>
       <artifactId> gwt-user </artifactId>
       <version> 2.2.0 </version>
       <scope> provided </scope>
     </dependency>  
     <dependency>
       <groupId> junit </groupId>
       <artifactId> junit </artifactId>
       <version> 4.7 </version>
       <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.1.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> Comet.html </runTarget>
           <hostedWebapp> $ {webappDirectory} </hostedWebapp>
           <i18nMessagesBundle> fr.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>

     </plugins>
   </build>

 </project>

Thank you for your help.

+4
source share
1 answer

I did not use it with GAE, but there appeared a newer version of gwt-maven-plugin for 2.2. Set it to 2.2.0 or remove the version tag and it will select the latest version. You also have no dependency on GAE in your pom.

+1
source

Source: https://habr.com/ru/post/1343023/


All Articles