【发布时间】:2022-01-09 20:12:13
【问题描述】:
我想使用外部码头和 gwt 编译服务器(使用 -noserver)在开发模式下启动我的 gwt 应用程序。
使用 3 个排列 (user.agent=safari) 启动网络服务器 (jetty + gwt war) 需要 250 秒的选项:
- -Dgwt.compiler.skip=true
- -Dgwt.draftCompile=true
- -Dgwt.compiler.localWorkers=8
- -Dgwt.compiler.optimizationLevel=0
在 MyProject.gwt.xml 文件中
<set-property name="user.agent" value="safari" />
然后我启动dev模式,当我想刷新客户端时,gwt编译服务器再做2次排列。
在启动码头时是否可以避免排列?
我知道 -Dgwt.compiler.skip=true 避免了排列,但它不会生成 gwt 编译服务器所需的最小 js,缺少包含 MyProject.nocache.js 或 MyProject.devmode.js 等文件的 MyProject 目录所以我不能让编译服务器在我的浏览器上完成他的工作。
如果我使用选项 -Dgwt.compiler.skip=true,我的网络服务器会在 30 秒后启动,但我会卡住。
我不知道为什么 gwt 需要在启动 webserver 时进行排列,这不是 gwt 编译服务器在 dev 模式下的工作吗?
编辑:我想我和 2014 年的这个人有同样的问题https://groups.google.com/g/google-web-toolkit/c/p9BGyLxiLkE
除了我使用的是 gwt 2.9
【问题讨论】:
-
您能否分享生成的compilation-mappings.txt 文件和构建日志以确认这里发生了什么?
-
嗨,我在哪里可以找到这个文件?在代码服务器 html 页面中,当我单击带有模块名称的链接时,我只有 3 个文件 MyModule.nocache.js MyModule.recompile.nocache.js clear.cache.gif
-
@ColinAlworth 我觉得我的问题和2014年这个人的问题是一样的groups.google.com/g/google-web-toolkit/c/p9BGyLxiLkE
-
当您进行构建时,该文件将构建到与您的 MyModule.nocache.js 相同的输出目录中。如上所述启动您的码头,然后共享生成的文件。话虽如此,您在启动自己的码头时不需要生成 GWT 生产 JS - 您如何启动码头,这是一个要求,“我被卡住了”实际上意味着为什么超级开发模式不起作用?
-
@ColinAlworth 问题是没有生成 MyModule 目录,其中包含 MyModule.nocache.js 和其他文件。如果我删除参数 -Dgwt.compiler.skip=true 没关系,但它会运行排列...我使用此命令 clean install -Dgwt.compiler.skip=true -Dgwt.draftCompile=true -Dgwt.compiler 构建我的模块。 Intellij 中的 localWorkers=8