1

按照这篇文章中的步骤,我使用gwt-maven-plugin 2.6.0,当我运行mvn gwt:run-codeserver它编译成功时:

[INFO] binding: user.agent=safari
[INFO] Compiling module com.example.myModule
[INFO]    Validating units:
[INFO]       Ignored 3 units with compilation errors in first pass.
[INFO] Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.
[INFO]    ...
[INFO]    Compiling 1 permutation
[INFO]       Compiling permutation 0...
[INFO]       Source Maps Enabled
[INFO]    Compile of permutations succeeded
[INFO] Linking into C:\Users\admin\AppData\Local\Temp\gwt-codeserver-5664784549647002986.tmp\com.example.myModule\compile-4\war\myModule;
 Writing extras to C:\Users\admin\AppData\Local\Temp\gwt-codeserver-5664784549647002986.tmp\com.example.myModule\compile-4\extras\myModule
[INFO]    Link succeeded
[INFO]    Compilation succeeded -- 3.401s
[INFO] Compile completed in 3496 ms

然后我使用 启动开发服务器mvn install gwt:run,对我的源文件进行更改并单击Dev Mode On书签。编译后更改无法反映到 UI:UI 始终显示旧值。

关于这个问题的任何想法?

4

1 回答 1

1

gwt-maven-plugin 有一个错误,直到(包括)2.6.0;你必须运行mvn process-classes gwt:run-codeserver而不是仅仅运行mvn gwt:run-codeserver. 这在 2.6.1 中已修复。

此外,如果您在 中更改任何内容,src/main/resources则必须运行mvn process-resources以使您的更改可用于超级开发模式(这是因为您可能使用资源过滤,因此超级开发模式不会直接查看src/main/resources)。

同样,如果您使用生成资源或 Java 源代码的插件,您将不得不手动运行它们(例如mvn generate-sourcesmvn generate-resources; 或者只使用与mvn process-resources上面相同的方法,这将立即完成所有操作)。例如,如果您使用gwt:generateAsync和更改 GWT-RPC 接口,这将是必要的(请注意,您还必须重新部署服务器端代码)。


注意:我刚刚在 GWT 2.6.0 的链接帖子中更新了我的答案,并添加了关于 GWT-RPC 和 gwt-maven-plugin 错误的注释。

于 2014-03-18T10:37:15.813 回答