Java 为什么我的战争部署在GAE上会占用这么多空间?
当我编译我的GAE/GWT(Java)项目(编译所有6个排列)时,整个WAR文件夹在我的计算机上的权重为93.9 Mo(扩展Mac OS日志)。在GAE上部署时,管理控制台(配额详细信息页面)显示我的应用程序占用了18%的免费配额。意思是180Mb。这怎么可能?我错过了什么?谷歌使用的是一个具有大数据块的文件系统吗??如何优化可用存储空间的使用?我已经在整理我的“classes”文件夹了,但收益(就空间而言…)并不相关 在我看来,最大的问题是我自己的GWT+服务器端代码+外部库(PDFJet)占用了1.9Mb的内存。其余(>91Mb)由appengine和datanucleus自己的库承担。为什么我们需要在部署中包括这些?每个人都在使用它们。我认为,如果能够集中和自动部署这些系统,对我们所有人来说都会更好。我不明白Java 为什么我的战争部署在GAE上会占用这么多空间?,java,google-app-engine,gwt,Java,Google App Engine,Gwt,当我编译我的GAE/GWT(Java)项目(编译所有6个排列)时,整个WAR文件夹在我的计算机上的权重为93.9 Mo(扩展Mac OS日志)。在GAE上部署时,管理控制台(配额详细信息页面)显示我的应用程序占用了18%的免费配额。意思是180Mb。这怎么可能?我错过了什么?谷歌使用的是一个具有大数据块的文件系统吗??如何优化可用存储空间的使用?我已经在整理我的“classes”文件夹了,但收益(就空间而言…)并不相关 在我看来,最大的问题是我自己的GWT+服务器端代码+外部库(PDFJet)占
对此有任何建议或意见吗?您需要确保GWT编译后输出针对生产部署进行调整,并且在您的情况下针对“云” 确保进行生产部署 1) 样式的GWT编译器标志为OBF 2) GWT编译关闭堆栈跟踪仿真器功能。In.gwt.xml
<set-property name="compiler.stackMode" value="strip" />
确保云部署
1) extra和deploy的GWT编译器标志用于引导大部分部署冗余文件远离WAR文件。我猜您的WEB-INF中有一个名为deploy的大型文件夹
编辑-
1) 对GWT编译器选项的引用-
2) 参考谷歌小组讨论-您在GAE上上传了多少版本?没错,部署文件夹相对较大。能否提供GWT编译器文档的链接?看来我们这里有很多我以前从没听说过的选择。。非常感谢。更新了答案中的链接。您需要在GWT中尝试优化构建时性能、运行时性能、带宽性能、部署大小性能和开发人员调试功能之间进行权衡。