我有一个多模块的GWT项目,我试图使用superdevmode(或者新名称是jetty with Jetty 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 DEV模式时,运行将在以下消息中失败:
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'的末尾添加了一个附加的命令行参数。当我删除该参数时,我可以调试。
但是,这个论点不断回来。最近,每当我尝试使用juetty的运行为 -> gwt dev模式。
时,它会返回。我尝试使用GWT:DevMode Maven目标,到目前为止,它都可以正常运行。
我还尝试过保存运行配置的本地副本。保存的配置看起来还不错,但是当我尝试运行它时,'.module'是在开始调试会话之前添加的,我会收到相同的错误。
我想我可以开始使用GWT:DevMode开始调试会话,但是调试环境略有不同,因此我希望能够继续使用Jetty使用GWT DEV模式。
有人遇到了这个幻影'。模块'插入物,并弄清楚了如何使Eclipse停止这样做?
快速修复:从eclipse中,您可以将运行configuration保存为XML文件并将其提交在您的存储库中,因此所有开发人员都可以在手头上具有正确的配置。
闻起来就像有一些文件夹或文件使Eclipse认为它是.gwt.xml模块,并将其添加到可用模块的列表中。
这是一个kludge的答案,使我们的问题在大多数情况下都消失了。我怀疑正确的答案是我们的项目结构有些奇怪。当我们了解有关GWT的更多信息以及设置Maven项目的标准方法时,我们可能会找出正确的答案或重新结构我们的项目,以便我们不再遇到此问题。
也就是说,当我们重新添加模块定义文件时,问题似乎消失了。
,我的意思是...
基于一些随机谷歌搜索,当我们将GWT项目转换为Maven时,我们一直在将模块定义文件从
移动 packagename/modulename.gwt.xml
to
src/main/module.gwt.xml
。
这样做似乎会导致上述问题。
要解决这个问题,我复制了
src/main/module.gwt.xml
回到
packagename/modulename.gwt.xml
问题消失了,除了有时,我们第一次尝试以"使用Jetty的GWT开发模式"运行该项目。是的,我知道我们现在有两个文件的副本,这似乎是错误的。
我不知道为什么会发生这种情况,并认为模块定义应在src/main/module.gwt.xml中。但是它有效,所以我现在可以忍受。