使用Google Web Toolkit启动Maven项目的Eclipse配置
我正在与web创建者一起开始一个GWT项目如下:
C:\>webAppCreator -noant -maven -overwrite -out MavenTest com.raphiki.MavenTest
它使用GWT Hello world项目生成Maven项目的结构,我在Eclipse中将此项目导入为具有现有源的Maven项目 。
然后我在我的项目中启用了Google Web Toolkit,我需要提供一个WAR路径。 我尝试使用包含入口点的/src/main/webapp
,但是当我启动应用程序时,我在Hello world的类包上得到了一个ClassNotFoundException
。
请参阅下图,这是WebAppCreator构建的结构:
我错过了任何配置吗?
请参阅http://web.archive.org/web/20130619170526/https://developers.google.com/eclipse/docs/faq#gwt_with_maven
TL; DR:运行mvn package
(或mvn war:exploded
),然后运行DevMode,选择target/myapp-1.0-SNAPSHOT/
作为webapp目录。
我不能代表webAppCreator,因为我没有使用它,但我很幸运使用codehause中的gwt-maven-plugin在Eclipse中创建Maven项目。
在Eclipse中创建Maven GWT项目Directy
-
在Eclipse中打开新项目向导并在Maven Project上过滤。
-
选择Maven项目,然后单击下一步。
-
输入首选项的项目位置,然后单击“下一步”。
-
在原型filter中输入“gwt-”,然后从codehaus中选择gwt-maven-plugin。 点击下一步。
-
输入您的maven项目详细信息和模块值,然后单击“完成”。
这将在Eclipse中为您创建一个maven-gwt项目。 这附带了一个示例应用程序,您可以使用它来确保可以正确启动应用程序。
运行应用程序命令行
- 打开命令行。
- 导航到您的项目主页。
- 运行命令“mvn clean package”。
- 运行命令“mvn gwt:run”
这应该让你开始运行。 如果您使用2.7.0 gwt-maven-plugin,则默认情况下应该以超级开发模式运行应用程序。
在Eclipse中运行应用程序
- 完成后,导航到Properties> Google> Web Application并选中“此项目有一个WAR目录”。 使用此插件的WAR目录应为src / main / webapp。
- 导航到“属性”>“Google”>“Web工具包”,然后选中“此项目有一个WAR目录。您可以在此处指定模块。我实际上无法执行此操作,它可能特定于我的Google插件Eclipse或某些特定环境…
- 运行方式> Web应用程序。
- 如果你遇到了问题,就像我在第2步那样,你会得到一个错误,
Missing required argument 'module[s]'
。 要修复此问题,请打开运行配置(应该已自动创建),并在参数选项卡中在参数末尾添加模块的包限定名称,例如com.mycompany.abc.GwtSampleModule。 不要添加“.gwt.xml”前缀。- 还值得检查参数中引用的HTML页面是否正确,我也遇到了问题。
现在应该使用此运行配置将应用程序配置为在Eclipse中启动。 我validation的环境是:
- Eclipse Luna(v4.4)
- Eclipse插件(v3.8)
- GWT Maven插件(v2.7.0)