0

我有一个多模块 GWT 项目,我正在尝试在 Eclipse 中使用 SuperDevMode(或者新名称是 GWT Dev Mode with Jetty)进行调试。

我在用:

  • 火星 .2(版本 4.5.2)
  • GWT 2.7 SDK(虽然也安装了2.8.1)
  • GWT Eclipse 插件 3.0.0
  • Eclipse JDT 1.3.0 的 Maven 集成
  • gwt-maven-plugin 版本 1.0-rc-8

过去,有时在运行 GWT 开发模式时,运行会失败并显示以下消息:

Runing CodeServer with parameters: [-noprecompile, -port, 9876, -sourceLevel,
1.7, -bindAddress, 127.0.0.1, -launcherDir,
/Users/SomeUser/Documents/customers/SomeCustomer/dev/workspace/FolderName/target/NAME-0.0.1-SNAPSHOT,
-logLevel, INFO, ca.example.Name, .module]
Invalid module name: '.module'
Google Web Toolkit 2.7.0

(是的,它确实说“正在运行”,而不是“正在运行”,我只是注意到了这一点)。请注意,我更改了一些路径和类名,但这些更改不应该很重要。

我通过编辑运行配置解决了这个问题。事实证明,在末尾添加了一个额外的命令行参数“.module”。当我删除该参数时,我可以调试。

但是,这个论点不断地回来。最近,每次我尝试使用 Run As -> GWT Dev Mode with Jetty 调试应用程序时,它都会回来。

我已经尝试使用 gwt:devmode maven 目标,并且到目前为止每次都可以正常工作。

我也尝试过保存运行配置的本地副本。保存的配置看起来不错,但是当我尝试运行它时,在启动调试会话之前添加了“.module”,我得到了同样的错误。

我想我可以开始使用 gwt:devmode 来启动我的调试会话,但是调试环境略有不同,所以我希望能够继续使用 GWT 开发模式和 Jetty。

有没有人遇到过这个幻影“.module”插入并想出如何让 Eclipse 停止这样做?

4

2 回答 2

0

快速修复:从 Eclipse 中,您可以将运行配置保存为 xml 文件并将其提交到您的 repo 中,因此所有开发人员都可以手头有正确的配置。

闻起来像是有一些文件夹或文件诱使 Eclipse 认为它是一个 .gwt.xml 模块并将其添加到可用模块列表中。

于 2018-02-21T15:52:26.573 回答
0

这是一个杂乱无章的答案,到目前为止,大多数情况下,这个问题对我们来说已经消失了。我怀疑正确的答案是我们的项目结构有点不稳定。随着我们更多地了解 GWT 和设置 maven 项目的标准方法,我们可能会找出正确的答案或重新构建我们的项目,以便我们不再遇到这个问题。

也就是说,当我们重新添加模块定义文件时,问题似乎消失了。

这么说来,我的意思是...

基于一些随机谷歌搜索,当我们将 GWT 项目转换为 maven 时,我们一直在移动模块定义文件

packagename/modulename.gwt.xml

src/main/module.gwt.xml.

这样做似乎会导致上述问题。

为了解决这个问题,我复制了

src/main/module.gwt.xml

回到

packagename/modulename.gwt.xml

问题就消失了,除了有时我们第一次尝试以“使用 Jetty 的 GWT 开发模式”运行项目。是的,我知道我们现在有两个文件副本,这似乎是错误的。

我不知道为什么会发生,并认为模块定义应该在 src/main/module.gwt.xml 中。但它有效,所以我现在可以忍受它。

于 2018-03-13T19:28:08.637 回答