我在这里写作是因为重构GWT项目造成的绝望。
我的第一次尝试: 在我阅读了Eclipse中对重构工具的所有赞美之后(我将它用作IDE),我只需右键单击一个模块(我真是个傻瓜)并使用重构选项。我的项目变得无法使用。
第一个结论: 发现我需要从类开始,然后一次重新构建一个模块。
第二次尝试: 重构了一些类,工作正常,直到我弄乱了与ui.xml文件相关的东西。项目无法使用!
第二个结论:
小心ui.xml文件!
第三次尝试: 很好,但我领先于自己并尝试删除一些评论或在评论中替换类名。可预测的结果:项目无法使用!
第三个结论: 再试一次!
第四次尝试: 失败!
第五次尝试: 失败!
你明白了。
有没有经验丰富的GWT请提供一些关于重构神秘领域的指导?
答案 0 :(得分:1)
GWT有一些基于命名约定的规则(例如GWT-RPC的两个接口,*.ui.xml
文件以及通过UiBinder
使用它们的类,与ClientBundle
相关的文件或ImageBundle
方法,I18N的*.properties
文件,因此在重命名/移动一个类/文件时不遵守它们会破坏它们。
GWT有时也会在非Java文件中引用类,@eval
中*.css
或CssResource
文件中的*.ui.xml
,非Java部分类(JSNI)或字符串文字(例如@ProxyForName
和@ServiceName
)。未能全部更新它们将破坏构建。
因为一个工具可以很容易地重构并不意味着你应该让它盲目地做它:它只是一个工具,你必须理解它的作用并仔细检查它(提示:检查Eclipse中的框强制一个在应用重构之前预览,因此它不会做太多或太少。