0

我正在尝试将 gwt 应用程序从 java 1.8 迁移到 17(java 源代码保留在 1.8 中)。

我正在使用 gwt-maven-plugin 2.9.0 版。使用基于日志的 open JDK 17 编译看起来没问题,没有错误,与使用 JDK1.8 调试日志编译相比看起来相同。所有文件(如 css、图像、js、rpc.log、gwt.log 等)都是基于创建的日志。

但是当编译完成时,war中的模块目录仍然是空的,只有目录结构而没有文件(例如gwt.rpc,resources,cache.js,nocache.js ...丢失)。

在日志中提到“排列编译成功....链接成功”。目录 gwt-unitCache 的内容看起来也不错。

你知道为什么会这样吗?

非常感谢!

部分日志:

Compiling 2 permutations
16:19:20 [Thread-95] [INFO]       Creating worker permutation 0 of 2
16:19:20 [Thread-95] [INFO]       Creating worker permutation 1 of 2
16:19:20 [Thread-95] [INFO]       Creating PermutationWorkerFactory instances
16:19:20 [Thread-95] [INFO]       Compiling permutation 0...
16:19:29 [Thread-95] [INFO]       Compiling permutation 1...
16:23:17 [Thread-95] [INFO]       Splitting JavaScript for incremental download
16:23:18 [Thread-95] [INFO]       Splitting JavaScript for incremental download
16:23:21 [Thread-95] [INFO]          Fixed up load-order dependencies for instance methods by moving 0 types to fragment 0, out of 31425
....
16:25:26 [Thread-95] [INFO]          Done
16:25:26 [Thread-95] [INFO]       Permutation took 365658 ms
16:25:27 [Thread-95] [INFO]          Done
16:25:27 [Thread-95] [INFO]       Permutation took 366193 ms
16:25:27 [Thread-95] [INFO]       Successfully compiled permutation
16:25:27 [Thread-95] [INFO]       Successfully compiled permutation
16:25:27 [Thread-95] [INFO]    Compile of permutations succeeded
16:25:27 [Thread-95] [INFO]    Compilation succeeded -- 2112.388s
16:25:27 [Thread-95] [INFO] Linking into D:\zzz\applications\xxx\target\xxx-1.0-SNAPSHOT\yyyyy
4

2 回答 2

0

只有一种有效的解决方法 -> 使用参数 webappDirectory 为插件 gwt-maven-plugin 设置不同的输出目录,例如 d:\output

如果生成正确则输出。然后将内容复制回目标war目录。

于 2021-11-29T07:06:02.717 回答
0

在您的编译输出中,您应该看到 GWT 编译器存储 GWT 应用程序文件的目录。

[INFO] --- gwt-maven-plugin:2.8.2:compile (default) @ Foo ---
[INFO] Compiling module com.me.Foo
[INFO] Linking into /home/.../Foo/target/Foo-1.2.1-SNAPSHOT/Foo
[INFO]    Link succeeded

如果那个目录是空的,就会发生一些非常奇怪的事情;尝试删除目标目录并再次尝试编译。

于 2021-11-25T00:08:50.523 回答