Intellij/GWT 在没有排列的情况下启动 gwt 应用程序
Intellij/GWT Starting a gwt application without permutations
我想使用外部码头和 gwt 编译服务器(使用 -noserver)在开发模式下启动我的 gwt 应用程序。
使用 3 个排列 (user.agent=safari) 启动网络服务器 (jetty + gwt war) 需要 250 秒,选项为:
- -Dgwt.compiler.skip=真
- -Dgwt.draftCompile=真
- -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 目录包含 MyProject.nocache.js 或 MyProject.devmode.js 等文件缺少,所以我无法在我的浏览器上要求编译服务器完成他的工作。
如果我使用选项 -Dgwt.compiler.skip=true,我的网络服务器会在 30 秒后启动,但我卡住了。
我不知道为什么 gwt 需要在启动网络服务器时进行排列,这不是 gwt 编译服务器在开发模式下的工作吗?
编辑:我想我和这个人在 2014 年有同样的问题 https://groups.google.com/g/google-web-toolkit/c/p9BGyLxiLkE
除了我使用的是 gwt 2.9
您可以通过折叠 gwt.xml 中的所有属性来避免多重排列
这会将所有排列合并为一个
<collapse-all-properties/>
听起来您的项目设置不正确。您使用的是什么版本的 GWT。这个开发模式是“超级开发模式”还是旧的开发模式?
Is it possible to avoid permutations while launching the jetty ?
Web 服务器(码头)启动时不应生成排列。只有当您在浏览器中打开页面时,代码服务器 运行 GWT 编译器才能编译模块,然后根据您的浏览器类型绑定到 one 用户代理,并且然后编译 1 个排列。
我终于找到了解决问题的方法,
问题是 -war 属性 没有指向好的目录
PATH_TO_MY_DEV_DIRECTORY/MY_GWT_MODULE/target/v2
而不是
PATH_TO_MY_DEV_DIRECTORY/MY_PROJECT/MY_GWT_MODULE/target/v2
所以现在,在 Intellij 中我有 3 个配置:
编译服务器(GWT 配置),开发模式参数为:-noserver -war "PATH_TO_MY_DEV_DIRECTORY/MY_PROJECT/MY_GWT_MODULE/target/v2"/
一个构建我的 war 的 maven,运行 为:clean install -Dgwt.compiler.skip=true
使用我的 maven 配置的带有启动前参数的码头配置
现在工作正常
我想使用外部码头和 gwt 编译服务器(使用 -noserver)在开发模式下启动我的 gwt 应用程序。
使用 3 个排列 (user.agent=safari) 启动网络服务器 (jetty + gwt war) 需要 250 秒,选项为:
- -Dgwt.compiler.skip=真
- -Dgwt.draftCompile=真
- -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 目录包含 MyProject.nocache.js 或 MyProject.devmode.js 等文件缺少,所以我无法在我的浏览器上要求编译服务器完成他的工作。
如果我使用选项 -Dgwt.compiler.skip=true,我的网络服务器会在 30 秒后启动,但我卡住了。
我不知道为什么 gwt 需要在启动网络服务器时进行排列,这不是 gwt 编译服务器在开发模式下的工作吗?
编辑:我想我和这个人在 2014 年有同样的问题 https://groups.google.com/g/google-web-toolkit/c/p9BGyLxiLkE
除了我使用的是 gwt 2.9
您可以通过折叠 gwt.xml 中的所有属性来避免多重排列 这会将所有排列合并为一个
<collapse-all-properties/>
听起来您的项目设置不正确。您使用的是什么版本的 GWT。这个开发模式是“超级开发模式”还是旧的开发模式?
Is it possible to avoid permutations while launching the jetty ?
Web 服务器(码头)启动时不应生成排列。只有当您在浏览器中打开页面时,代码服务器 运行 GWT 编译器才能编译模块,然后根据您的浏览器类型绑定到 one 用户代理,并且然后编译 1 个排列。
我终于找到了解决问题的方法,
问题是 -war 属性 没有指向好的目录
PATH_TO_MY_DEV_DIRECTORY/MY_GWT_MODULE/target/v2
而不是
PATH_TO_MY_DEV_DIRECTORY/MY_PROJECT/MY_GWT_MODULE/target/v2
所以现在,在 Intellij 中我有 3 个配置:
编译服务器(GWT 配置),开发模式参数为:-noserver -war "PATH_TO_MY_DEV_DIRECTORY/MY_PROJECT/MY_GWT_MODULE/target/v2"/
一个构建我的 war 的 maven,运行 为:clean install -Dgwt.compiler.skip=true
使用我的 maven 配置的带有启动前参数的码头配置
现在工作正常