如何防止GWT项目的运行配置的命令行参数被覆盖



我有一个多模块的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中。但是它有效,所以我现在可以忍受。

最新更新