我刚刚阅读了GWT Guide for Compiling and Debugging,并提出了几个类似的相关问题:
-whitelist
和-blacklist
DevMode
选项的示例用例是什么?为什么它们不适用于生产模式?DevMode
和HostedMode
之间的区别?两者的用例?-extra
标志时会发生什么样的“额外”事情?-workDir
,为什么必须可写?什么写在那里?我可以用它做什么?soyc
)在哪里生成以及如何配置此位置?这些问题是如此紧密相关,我认为最好先问他们所有人,而不是垃圾邮件,这有6个不同的微问题。提前谢谢!
答案 0 :(得分:3)
-whitelist
和-blacklist
实际上从未使用过。它们是遗留在托管模式中的遗留物,它嵌入了浏览器小部件(并且可以控制同源策略),而不是通过插件嵌入到浏览器中。
HostedMode
目前与DevMode
相同。它仅用于向后兼容(见上文)
所有语言环境的所有Messages
和Constants
的属性文件(假设您为这些语言配置了@Generate
),以便更轻松地引导I18N,编译报告 - 如果你还传递-compileReport
- ,混淆CssResource
类名的CSS映射,以及GWT-RPC序列化策略的日志(包含/排除哪些类以及为什么)。
-workDir
是GWT写入大部分临时数据的地方(不是全部,有些东西转到OS临时文件夹 - 可以使用-Djava.io.tmpdir=
系统属性配置 - 或者{{1文件夹 - 可配置.gwt-unitCache
系统属性 - )。执行distributed builds时,-Dgwt.persistentunitcachedir=
必须由所有计算机共享(在网络上共享,或通过复制文件)。
在DevMode中,嵌入式Jetty服务器从workDir
文件夹运行您的webapp(您的服务器代码和静态资源)(默认为-war
当前目录)。 代码服务器是为客户端代码提供服务的代码。在DevMode中, codeserver 使用原始TCP连接与浏览器中的插件进行通信;在SuperDevMode中,代码服务器是一个Jetty实例,它提供动态编译的(几乎)动态,它不会托管你的webapp。
请参阅上面的#3和http://www.gwtproject.org/doc/latest/DevGuideCompileReport.html