GWT重构:类,模块,重命名整个项目

时间:2014-06-11 08:05:13

标签: java eclipse gwt refactoring

我在这里写作是因为重构GWT项目造成的绝望。

我的第一次尝试:  在我阅读了Eclipse中对重构工具的所有赞美之后(我将它用作IDE),我只需右键单击一个模块(我真是个傻瓜)并使用重构选项。我的项目变得无法使用。

第一个结论:  发现我需要从类开始,然后一次重新构建一个模块。

第二次尝试:  重构了一些类,工作正常,直到我弄乱了与ui.xml文件相关的东西。项目无法使用!

第二个结论:
 小心ui.xml文件!

第三次尝试:  很好,但我领先于自己并尝试删除一些评论或在评论中替换类名。可预测的结果:项目无法使用!

第三个结论:  再试一次!

第四次尝试:  失败!

第五次尝试:  失败!

你明白了。

有没有经验丰富的GWT请提供一些关于重构神秘领域的指导?

1 个答案:

答案 0 :(得分:1)

GWT有一些基于命名约定的规则(例如GWT-RPC的两个接口,*.ui.xml文件以及通过UiBinder使用它们的类,与ClientBundle相关的文件或ImageBundle方法,I18N的*.properties文件,因此在重命名/移动一个类/文件时不遵守它们会破坏它们。

GWT有时也会在非Java文件中引用类,@eval*.cssCssResource文件中的*.ui.xml,非Java部分类(JSNI)或字符串文字(例如@ProxyForName@ServiceName)。未能全部更新它们将破坏构建。

因为一个工具可以很容易地重构并不意味着你应该让它盲目地做它:它只是一个工具,你必须理解它的作用并仔细检查它(提示:检查Eclipse中的框强制一个在应用重构之前预览,因此它不会做太多或太少。