Maven GWT 2.0和Eclipse

有没有人知道使用maven和eclipse创build新的GWT 2.0版本的项目的一个很好的指导? 我遇到了很多问题,让他们一起打好。

对于什么是值得的,我可以使用maven eclipse插件来创build一个gwt项目,但是将其移植到maven是行不通的(所以这个指导很好)。

同样,我可以使用maven插件(gwt-maven-plugin),但是当我将它导入到eclipse(导入 – >实现maven项目)时,它不会被识别为GWT项目。

谢谢

编辑:我更新了我的答案与OP提供的其他步骤。 信贷给OP的细节。

我刚刚打破了我的Eclipse设置,试图安装最新版本的Google Plugin for Eclipse(对于GWT 2.0),所以我不能确认一切,但是我们假设满足以下先决条件:

你有没有尝试:

  1. 从Eclipse创build一个新项目( New> Other …然后selectMaven Project并selectgwt-maven-plugin原型)。

  2. 编辑生成的pom.xml ,将gwt.version属性更新为2.0.0 (已在中央仓库中发布), 添加Codehaus Snapshot存储库并将gwt-maven-plugin版本设置为1.2-SNAPSHOT (版本1.2不是在中央释放,这应该很快就会发生) 1.2 (它已经在中央发布了)。

  3. 添加<runTarget>到gwt-maven-pluginconfiguration中,如使用Google Eclipse插件所述 。

  4. 按照上一步中提到的页面configurationmaven-war-plugin。

  5. 通过设置“ 使用Google Web Toolkit”checkbox,从项目首选项手动启用GWT此步骤是不必要的,因为您将使用Maven运行configuration而不是GWT插件for Eclipse来构build/运行。

这是我的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"> <!-- GWT-Maven archetype generated POM --> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.demo</groupId> <artifactId>my-gwtapp</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>gwt-maven-archetype-project</name> <properties> <!-- convenience to define GWT version in one place --> <gwt.version>2.0.0</gwt.version> <!-- tell the compiler we can use 1.5 --> <maven.compiler.source>1.5</maven.compiler.source> <maven.compiler.target>1.5</maven.compiler.target> </properties> <dependencies> <!-- GWT dependencies (from central repo) --> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-servlet</artifactId> <version>${gwt.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-user</artifactId> <version>${gwt.version}</version> <scope>provided</scope> </dependency> <!-- test --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.4</version> <scope>test</scope> </dependency> </dependencies> <build> <outputDirectory>war/WEB-INF/classes</outputDirectory> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>gwt-maven-plugin</artifactId> <version>1.2</version> <executions> <execution> <goals> <goal>compile</goal> <goal>generateAsync</goal> <goal>test</goal> </goals> </execution> </executions> <configuration> <runTarget>com.mycompany.demo.gwt.Application/Application.html</runTarget> </configuration> </plugin> <!-- If you want to use the target/web.xml file mergewebxml produces, tell the war plugin to use it. Also, exclude what you want from the final artifact here. <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <webXml>target/web.xml</webXml> <warSourceExcludes>.gwt-tmp/**</warSourceExcludes> </configuration> </plugin> --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.0.2</version> <configuration> <warSourceDirectory>war</warSourceDirectory> <webXml>src/main/webapp/WEB-INF/web.xml</webXml> </configuration> </plugin> </plugins> </build> </project> 

运行gwt:eclipse目标(使用m2eclipse Maven2> build …)来设置您的环境并为您的GWT模块创build启动configuration。

运行gwt:compile gwt:run ,在GWT托pipe模式下编译并运行一个GWT模块。

您可以运行以下命令来生成一个Maven GWT项目:

webAppCreator -maven -noant -out

了解更多信息:

GWT webappcreator创build一个Maven项目:源附件不包含文件URLClassPath.class的源文件

以防万一。 如果您在项目中使用Google GIN,则应在gwt:compile之前添加编译目标。 所以整个序列将是:

 compile gwt:compile gwt:run 

您可以在这里阅读说明: http : //code.google.com/p/google-gin/wiki/GinTutorial#Compilation

GWT和m2eclipse令人讨厌的问题:

GWT开发模式要求将所有JAR放在WEB-INF / lib中。 当程序员使用提供自己的Eclipse类path容器的m2eclipse时尤其痛苦。

http://code.google.com/p/google-web-toolkit/issues/detail?id=5693

好消息,解决方法正在为我工​​作

非常有用的线程

@帕斯卡:谢谢(我没有足够的声誉评论别人的post,所以在这里我张贴什么是为我工作)。

我需要2.5.1 GWT(不是2.6,最新)与maven和eclipse(因为sencha GXT不支持2.6)。 试过没有运气

1)在eclipse中尝试了几个原型来生成项目

2)修改pom文件(基于上述讨论)将版本更改为2.5.1

以下为我工作http://mojo.codehaus.org/gwt-maven-plugin/user-guide/archetype.html

  mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo -DarchetypeArtifactId=gwt-maven-plugin -DarchetypeVersion=2.5.1 mvn gwt:eclipse mvn gwt:run