2012-06-27 80 views
1

经过一些尝试后,我无法使托管模式与maven一起使用。我的pom.xml如下,我正在使用标准的maven结构:GWT Maven托管模式

 <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>gwt-maven-plugin</artifactId> 
      <version>2.4.0</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>compile</goal> 
         <goal>i18n</goal> 
         <goal>generateAsync</goal> 
        </goals> 
       </execution> 
      </executions> 

      <configuration> 
       <draftCompile>true</draftCompile> 
       <strict>true</strict> 
       <inplace>false</inplace> 
       <runTarget>project.html</runTarget> 
       <style>${gwt.style}</style> 
       <i18nMessagesBundle>com.domain.client.i18n.Messages</i18nMessagesBundle> 
       <i18nConstantsBundle>comdomain.client.properties.ClientProperties</i18nConstantsBundle> 
      </configuration> 
     </plugin> 
     <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> 
     </plugin> 

任何想法?

+0

因为我已经升级到2.5 GWT后,它的工作开箱。没有设法使它适用于2.4 – krampstudio

回答

1

尝试增加这些配置项:

<warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory>       
<webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory> 
<hostedWebapp>${basedir}/src/main/webapp</hostedWebapp> 

最后一个可能是真正需要一个真正

+0

我仍然收到以下错误消息: ''警告您的POM 与GWT托管浏览器的托管webapp WEB-INF/classes文件夹不匹配,以查看您的类。' – krampstudio

+0

只是让你的编译类在/ src/main/webapp/WEB-INF/classes中使它工作:) – Arcadien

1

我注意到两名失踪标签<outputDirectory>下构建和下GWT-Maven的插件配置<module>

参考 - http://code.google.com/p/google-web-toolkit/source/browse/trunk/samples/dynatablerf/pom.xml

<build> 
    <!-- Generate compiled stuff in the folder used for development mode --> 
    <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory> 

    <plugins> 

     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.4</version> 
     <configuration> 
      <source>1.6</source> 
      <target>1.6</target> 
     </configuration> 
     <dependencies> 
      <!-- Need to run the RF Validation tool. This works on both the command-line 
       and in Eclipse, provided that m2e-apt is installed. --> 
      <dependency> 
      <groupId>com.google.web.bindery</groupId> 
      <artifactId>requestfactory-apt</artifactId> 
      <version>${gwtVersion}</version> 
      </dependency> 
     </dependencies> 
     </plugin> 

     <!-- GWT Maven Plugin--> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>gwt-maven-plugin</artifactId>   
     <version>2.5.0</version> 
     <dependencies> 
      <dependency> 
      <groupId>com.google.gwt</groupId> 
      <artifactId>gwt-user</artifactId> 
      <version>${gwtVersion}</version> 
      </dependency> 
      <dependency> 
      <groupId>com.google.gwt</groupId> 
      <artifactId>gwt-dev</artifactId> 
      <version>${gwtVersion}</version> 
      </dependency> 
     </dependencies> 
     <!-- JS is only needed in the package phase, this speeds up testing --> 
     <executions> 
      <execution> 
      <phase>prepare-package</phase> 
      <goals> 
       <goal>compile</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> 
      <draftCompile>true</draftCompile> 
      <strict>true</strict> 
      <inplace>false</inplace> 
      <!-- URL that should be automatically opened in the GWT shell (gwt:run). --> 
      <runTarget>project.html</runTarget> 
      <style>${gwt.style}</style> 
      <i18nMessagesBundle>com.domain.client.i18n.Messages</i18nMessagesBundle> 
      <i18nConstantsBundle>comdomain.client.properties.ClientProperties</i18nConstantsBundle>   
      <!-- Ask GWT to create the Story of Your Compile (SOYC) (gwt:compile) --> 
      <compileReport>true</compileReport> 
      <module>youR.gwt.ModuleName</module> 
      <logLevel>INFO</logLevel> 
      <copyWebapp>true</copyWebapp> 
     </configuration> 
     </plugin>