在Eclipse中运行Maven GWT应用程序的问题

时间:2011-05-11 16:56:41

标签: java eclipse gwt maven google-eclipse-plugin

我正在尝试通过启用WebAppCreator的Maven2创建一个GWT项目。

项目创建步骤:

  1. 使用WebAppCreator创建项目(我正在使用gwt-2.3.0)
      

    webAppCreator -noant -maven -XnoEclipse -out MyApp com.example.MyApp

  2.   
  3. 在eclipse(helios)中将项目导入为现有的maven项目
  4.   
  5. 启用“项目” - > “属性” - > “Google” - > “Google web toolkit” - > “使用google web toolkit”复选框
  6.   
  7. 在项目属性“Google”中设置 - > “Web应用程序” - > “这个项目有一个WAR目录”。设置WAR目录路径“src / main / webapp”并取消选中“从此目录启动和部署”
  8.   
  9. Java构建路径是“MyApp / target / www / WEB-INF / classes”
  10.   
  11. 我没有更改pom.xml中的设置
  12.   
  13. 使用gwt eclipse插件(2.3.0版本)编译项目。它成功编译。
  14.   
  15. 尝试将项目作为Web应用程序运行。当我运行应用程序时,GWT插件不会询问我有关WAR文件夹的信息。   我做了所有这些,我在日志中看到了:
  16.   

    [WARN]在Web应用程序中找不到服务器类'com.example.server.GreetingServiceImpl',但在系统类路径中找到

    [WARN]将类路径条目'file:/ home / redfox / workspace / java / redfox / MyApp / target / www / WEB-INF / classes /'添加到此会话的Web应用程序类路径

    [警告]在网络应用程序中找不到服务器类'com.google.gwt.user.client.rpc.RemoteService',但在系统类路径中找到

    [WARN]将类路径条目'file:/home/redfox/.m2/repository/com/google/gwt/gwt-servlet/2.3.0/gwt-servlet-2.3.0.jar'添加到Web应用程序此会话的类路径

    当我尝试从URL(http://127.0.0.1:8888/MyApp.html?gwt.codesvr=127.0.0.1:9997)加载页面时,我看到404错误。 在日志中,我没有看到任何错误。我该如何运行这个默认应用程序?另外我还有另一个问题:如果这个问题得到解决,我怎样才能在web模式下运行这个应用程序(不是在开发模式下),使用像http://127.0.0.1:8888这样的链接,而不是param gwt.codesvr? / p>

    P.S。抱歉我的英语不好。

4 个答案:

答案 0 :(得分:0)

我理解你的沮丧,相信我,我最近遇到了你现在遇到的完全相同的问题。

正如尤金所说,按照他的指示行事,但是......

Select an Archetype选择版本2.3.0-1(其他人可能有效,但这个适用于我)

Select an Archetype

使用Archtype版本生成示例应用程序。做一个mvn gwt:运行,你会看到这个屏幕(如果一切顺利的话) 单击"启动默认浏览器"。

祝你好运。 干杯 PB

Launcher

答案 1 :(得分:0)

我知道这个问题已经有两年了。但我刚才遇到了同样的问题,现在想出了如何修复它。

当eclipse在第一次启动时没有询问您的“WAR”目录时,您也可以手动设置它:

在eclipse中转到“Run” - > “调试配置......”。选择“Web应用程序” - >选择“Arguments”-Tab并添加参数,例如“-war C:\ YourProjectPath \ target \ YourProject-1.0-SNAPSHOT”。提供指向您的目标的完整路径,由maven生成。

希望能帮助别人更快地解决这个问题:)

答案 2 :(得分:0)

我知道这是旧的,但这是我的最新方法(也回答here

我不能代表webAppCreator因为我没有使用它,但我很幸运使用codehause中的gwt-maven-plugin在Eclipse中创建Maven项目。

在Eclipse中创建Maven GWT项目Directy

  1. 在Eclipse中打开新项目向导并在Maven Project上过滤。

  2. 选择Maven项目,然后单击下一步。

  3. 输入您偏好的项目位置,然后单击“下一步”。

  4. 在原型过滤器中输入“gwt-”,然后从codehaus中选择gwt-maven-plugin。单击“下一步”。

  5. 输入您的maven项目详细信息和模块值,然后单击“完成”。

  6. 这将在Eclipse中为您创建一个maven-gwt项目。这附带了一个示例应用程序,您可以使用它来确保可以正确启动应用程序。

    运行应用程序命令行

    1. 打开命令行。
    2. 导航到您的项目主页。
    3. 运行命令“mvn clean package”。
    4. 运行命令“mvn gwt:run”
    5. 这应该让你开始运行。如果您使用2.7.0 gwt-maven-plugin,默认情况下应该以超级开发模式运行应用程序。

      在Eclipse中运行应用程序

      1. 如您所做,导航至属性> Google> Web应用程序并检查“此项目有一个WAR目录”。使用此插件的WAR目录应为src / main / webapp。
      2. 导航至属性> Google> Web Toolkit并检查“这个项目有一个WAR目录。您可以在这里指定模块。我实际上无法这样做,它可能特定于我的Eclipse插件或特定环境......
      3. Run As>网络应用程序。
      4. 如果您遇到问题,请执行第2步,然后您会收到错误Missing required argument 'module[s]'。要解决此问题,请打开运行配置(应该已自动创建),并在参数选项卡中在参数末尾添加模块的包限定名称,例如: com.mycompany.abc.GwtSampleModule。不要添加“.gwt.xml”前缀。
        1. 还值得检查参数中引用的HTML页面是否正确,我也遇到了问题。
      5. 现在应该使用此运行配置为Eclipse中的Launch启动应用程序。我验证的环境是:

        • Eclipse Luna(v4.4)
        • Eclipse插件(v3.8)
        • GWT Maven插件(v2.7.0)

答案 3 :(得分:-2)

我的建议可能会比您偏好略有不同,但结果会更好:)

  1. 安装m2eclipse插件。这将为您的环境添加许多不错的maven功能。
  2. 使用新项目向导创建新的Maven项目
  3. 不要选中“简单项目”复选框,而是使用GWT原型之一(我建议使用gwt-maven-plugin)
  4. enter image description here

    然后maven将为您创建具有所有必需依赖项的适当项目结构。有关GWT插件的更多信息可以在http://mojo.codehaus.org/gwt-maven-plugin/user-guide/archetype.html找到,包括如何执行它。

    P.S。你的英语很好:)