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

时间:2018-02-19 19:49:20

标签: eclipse gwt run-configuration

我有一个多模块GWT项目,我试图在Eclipse中使用SuperDevMode(或者新名称是带Jetty的GWT开发模式)进行调试。

我正在使用:

  • 火星.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 version 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调试应用程序时都会回来 - >带Jetty的GWT开发模式。

我尝试过使用gwt:devmode maven目标,到目前为止每次都可以正常使用。

我也尝试保存运行配置的本地副本。保存的配置看起来没问题,但是当我尝试运行它时,' .module'在调试会话启动之前添加,我得到相同的错误。

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

有没有人遇到过这个幽灵'。模块'插入并弄清楚如何让Eclipse停止这样做?

2 个答案:

答案 0 :(得分:0)

快速修复:从eclipse中,您可以将运行配置保存为xml文件并将其提交到您的仓库中,这样所有开发人员都可以拥有正确的配置。

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

答案 1 :(得分: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中。但它确实有效,所以我现在可以忍受它。