【问题标题】:Problem with running Maven GWT application in Eclipse在 Eclipse 中运行 Maven GWT 应用程序的问题
【发布时间】:2011-05-11 16:56:40
【问题描述】:

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

项目创建步骤:

  1. 使用 WebAppCreator 创建项目(我使用的是 gwt-2.3.0)->webAppCreator -noant -maven -XnoEclipse -out MyApp com.example.MyApp
  2. 在 Eclipse (helios) 中将项目导入为现有的 maven 项目
  3. 启用“项目”->“属性”->“谷歌”->“谷歌网络工具包”->“使用谷歌网络工具包”复选框
  4. 在项目属性“Google”->“Web 应用程序”->“此项目有一个 WAR 目录”中设置。设置WAR目录路径“src/main/webapp”,取消勾选“launch and deploy from this directory”
  5. Java 构建路径是“MyApp/target/www/WEB-INF/classes”
  6. 我没有更改 pom.xml 中的设置
  7. 使用 gwt eclipse 插件(2.3.0 版本)编译项目。编译成功。
  8. 尝试将项目作为 Web 应用程序运行。当我运行应用程序 GWT 插件时,不会询问我关于 WAR 文件夹的信息。 我做了这一切,我在日志中看到:
[WARN] Server class 'com.example.server.GreetingServiceImpl' could not be found in the web app, but was found on the system classpath
   
[WARN] Adding classpath entry 'file:/home/redfox/workspace/java/redfox/MyApp/target/www/WEB-INF/classes/' to the web app classpath for this session

[WARN] Server class 'com.google.gwt.user.client.rpc.RemoteService' could not be found in the web app, but was found on the system classpath
   
[WARN] Adding classpath entry 'file:/home/redfox/.m2/repository/com/google/gwt/gwt-servlet/2.3.0/gwt-servlet-2.3.0.jar' to the web app classpath for this session

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

附:对不起我的英语不好。

【问题讨论】:

  • 我也有同样的问题。已经研究了几个小时。显然这是 maven get 插件中的某种类加载问题。
  • 我也遇到过这样的问题...

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


【解决方案1】:

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

正如尤金所说,按照他的指示,但是……

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

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

祝你好运。 干杯 铅

【讨论】:

    【解决方案2】:

    我知道这个问题已经存在两年了。但是我刚刚遇到了同样的问题,现在想出了如何解决它。

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

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

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

    【讨论】:

      【解决方案3】:

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

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

      在 Eclipse 中创建 Maven GWT 项目目录

      1. 在 Eclipse 中打开新项目向导并筛选 Maven 项目。

      2. 选择 Maven 项目并单击下一步。

      3. 输入您喜欢的项目位置,然后单击下一步。

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

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

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

      运行应用程序命令行

      1. 打开命令行。
      2. 导航到您的项目主页。
      3. 运行命令“mvn clean package”。
      4. 运行命令“mvn gwt:run”

      这应该可以让您启动并运行。如果您使用 2.7.0 gwt-maven-plugin,这应该默认以超级开发模式运行应用程序。

      在 Eclipse 中运行应用程序

      1. 正如您所做的那样,导航到 Properties > Google > Web Application 并选中“This project has a WAR directory”。使用这个插件的 WAR 目录应该是 src/main/webapp。
      2. 导航到 Properties > Google > Web Toolkit 并检查“此项目有一个 WAR 目录。您可以在此处指定模块。我实际上无法这样做,它可能特定于我的 Google Plugin for Eclipse 或环境特定的东西......
      3. 运行方式 > Web 应用程序。
      4. 如果您遇到问题,就像我在第 2 步中遇到的那样,您将收到错误 Missing required argument 'module[s]'。要解决此问题,请打开您的运行配置(应该是自动创建的)并在参数选项卡中在参数末尾添加模块的包限定名称,例如com.mycompany.abc.GwtSampleModule。不要添加“.gwt.xml”前缀。
        1. 还值得检查您的论点中引用的 HTML 页面是否正确,我也遇到了问题。

      现在应该使用此运行配置配置应用程序以在 Eclipse 中启动。我经过验证的环境是:

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

      【讨论】:

        【解决方案4】:

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

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

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

        附:你的英语很好:)

        【讨论】:

        • 我已经安装了最新的 m2eclipse,但是遇到了和 OP 一样的问题。安装 m2eclipse 会给你带来很多好处,但并不能解决这个特殊问题。
        猜你喜欢
        • 2012-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多