【问题标题】:GWT Maven : Module 'xxx' may need to be (re)compiledGWT Maven:模块“xxx”可能需要(重新)编译
【发布时间】:2013-07-04 14:46:25
【问题描述】:

问题:不断收到“模块 'xxx' 可能需要(重新)编译”。

步骤:

  1. 将示例 GWT-Maven 项目导入 Eclipse(“MobileWebApp” - 来自 GWT SDK)。
  2. GWT|编译项目。
  3. 在生产模式下运行(没有 codesvr 参数,即使用“localhost:8888/MobileWebApp.html”)。

注意事项:

  1. 我对 GWT 和 Maven 都很陌生。
  2. 我读过GWT module may need to be (re)compiled REDUX
  3. 开发模式确实有效(我能够调试应用程序)。

详细步骤:

  1. 将“MobileWebApp”文件夹从 GWT SDK(版本 2.5.1)内的“samples”文件夹复制到我的 eclipse 工作区。
  2. 导入项目:File->Import->Existing Maven Projects(指向pom.xml所在的“MobileWebApp”文件夹。
  3. 按照以下步骤配置项目:https://developers.google.com/eclipse/docs/faq?hl=iw#gwt_with_maven
  4. 此时我可以将应用程序作为“Web 应用程序”运行并对其进行调试。
  5. 正在运行 GWT|编译:nocache.js 内容正在放置在目标文件夹中。
  6. 现在,当我尝试在生产模式下运行应用程序时,出现(重新)编译错误。

日志:

  1. "DataNucleus Enhancer (version 1.1.4) : 类的增强 DataNucleus Enhancer 成功完成 0 个课程。计时:输入=713 毫秒,增强=0 毫秒, 总计=713 毫秒。查阅日志以获取完整的详细信息 DataNucleus Enhancer 已完成,并且没有增强任何类。详细信息请查阅日志”

  2. "编译模块com.google.gwt.sample.mobilewebapp.MobileWebApp 验证单位: 在第一次通过时忽略了 1 个具有编译错误的单元。 编译时使用 -strict 或将 -logLevel 设置为 TRACE 或 DEBUG 以查看所有错误。 编译6个排列 编译排列 0... 编译排列 1... 编译排列2... 编译排列3... 编译排列4... 编译排列 5... 排列编译成功 链接到 D:\workspace\eclipse\MobileWebApp\target\MobileWebApp-1.0-SNAPSHOT\mobilewebapp 调用链接器 AppCacheLinker 确保您的着陆页标签声明了一个清单: 链接成功 编译成功——152.077s"

  3. “正在初始化 App Engine 服务器

    06/07/2013 20:12:33 com.google.apphosting.utils.jetty.JettyLogger 信息 信息:通过 com.google.apphosting.utils.jetty.JettyLogger 记录到 JettyLogger(null) 2013 年 6 月 7 日 20:12:33 com.google.apphosting.utils.config.AppEngineWebXmlReader 读取AppEngineWebXml INFO:成功处理 D:\workspace\eclipse\MobileWebApp\target\MobileWebApp-1.0-SNAPSHOT\WEB-INF/appengine-web.xml 06/07/2013 20:12:33 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml INFO:成功处理 D:\workspace\eclipse\MobileWebApp\target\MobileWebApp-1.0-SNAPSHOT\WEB-INF/web.xml 06/07/2013 20:12:34 com.google.apphosting.utils.jetty.JettyLogger 信息 信息:码头-6.1.x 06/07/2013 20:12:36 com.google.apphosting.utils.jetty.JettyLogger 信息 信息:已启动 SelectChannelConnector@0.0.0.0:8888 2013 年 6 月 7 日 20:12:36 com.google.appengine.tools.development.DevAppServerImpl 开始 信息:服务器运行在 localhost:8888/ 2013 年 6 月 7 日 20:12:36 com.google.appengine.tools.development.DevAppServerImpl 开始 信息:管理控制台在 localhost:8888/_ah/admin 运行 链接模块 命令行模块“com.google.gwt.sample.mobilewebapp.MobileWebApp”的引导链接 链接模块“mobilewebapp” 调用链接器 AppCacheLinker DevMode 警告:破坏 appcache.nocache.manifest 以允许调试。在部署您的应用程序之前重新编译! 确保您的着陆页标签声明了一个清单: 06/07/2013 20:13:38 com.google.apphosting.utils.jetty.AppEngineAuthentication$AppEngineAuthenticator 身份验证 信息:获取 /MobileWebApp.html 但没有人登录,正在重定向。”

Pom.xml:https://code.google.com/p/google-web-toolkit/source/browse/trunk/samples/mobilewebapp/

先谢谢了。

【问题讨论】:

  • 你看thisthis question了吗?
  • 你如何“在生产模式下运行应用程序”?
  • Mia - 我确实读过这些问题,不止一次,不幸的是它对我没有多大帮助。
  • Thomas - 通过“在生产模式下运行应用程序”我的意思是说 1)我编译项目:右键单击项目 -> Google -> GWT 编译。 2) 右键单击​​项目-> 运行方式-> Web 应用程序。 3)打开浏览器并导航到“localhost:8888/MobileWebApp.html”(不带codevr参数),以便应用程序将基于编译的javaScript运行 - 而不是使用JVM调试器。
  • 我必须再次指出,我是 maven 新手,因此我显然缺少一些基本的核心知识。问题是 gwt + maven 信息分散在整个网络上,引用了特定的和不同的版本。任何有关如何使用 maven 和 gwt 的最新信息的链接将不胜感激。

标签: eclipse maven gwt pom.xml


【解决方案1】:

回答我自己的问题:

1) 来自命令:“mvn gwt:run”。

2) Google|GWT 编译。

附:尽管我很高兴(经过几天的痛苦)弄清楚了这一点,但我仍然想知道为什么我必须 - 先午餐应用程序然后编译它。非常奇怪 - 以我的拙见。

offtopicThis 示例应用程序应该是“offline executable”(至少来自移动设备) - 那么我该如何测试呢?我尝试(在从移动设备运行应用程序一次或两次之后,以便将其缓存)切换到飞行模式并导航到应用程序(就像他演示的那样)但是,显然(?),服务器无法访问。 . 我是否需要启用某些特定功能才能使其工作? (我的移动设备是 Google-Nexus-4)

【讨论】:

    【解决方案2】:

    多个步骤:

    1. 更新项目属性 -> 使用Deploy GWT maven project with eclipse deploys webapp directory instead of target/project directory部署程序集

    2. mvn 清洁包

    3. mvn gwt:compile
    4. 在 Eclipse 中,单击“GWT 编译项目”-> Advacned -> 删除“-war src/main/webapp”参数并点击编译。

    输出应该是这样的 - 链接到 target/project-1.0-SNAPSHOT/ModuleName

    现在部署应该可以正常工作了。

    【讨论】:

    • 谢谢,但此时我决定忽略使用 maven 作为我的 gwt 应用程序引擎应用程序的构建工具。由于 Eclipse 的 google-plugin 做得如此出色,并且设置 maven 来构建我的项目的陡峭学习曲线,我选择继续将 jar 复制到我的项目中,然后可能会迁移到 maven
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    相关资源
    最近更新 更多