为什么我的战争在GAE上部署时占用了这么多空间?

时间:2013-02-06 00:04:42

标签: java google-app-engine gwt

当我编译我的GAE / GWT(Java)项目(编译所有6个排列)时,整个WAR文件夹在我的计算机上的权重为93.9 Mo(扩展的Mac OS日志)。在GAE上部署时,管理控制台(配额详细信息页面)显示我的应用程序占用了免费配额的18%。含义180Mb。这怎么可能 ?我错过了什么?谷歌是否使用大块文件系统?如何优化可用存储空间的使用?我已经JARing我的'classes'文件夹了,但是增益(就空间而言......)是不相关的。

最大的问题(从我的角度来看)是我自己的GWT +服务器端代码+'外部'库(PDFJet)需要1.9Mb。所有其余的(> 91Mb)由appengine和datanucleus自己的库获取。为什么我们需要在部署中包含这些内容?它们被大家使用。我认为,当这些将集中和自动部署时,对我们所有人来说会更好。我不明白。

对此有任何建议或意见吗?

1 个答案:

答案 0 :(得分:5)

您需要确保GWT后期编译输出调整为生产部署,并且您需要确保“cloud”

确保生产部署

1)STYLE IS OBF的GWT编译器标志

2)GWT编译关闭堆栈跟踪仿真器功能。在.gwt.xml

<set-property name="compiler.stackMode" value="strip" />

确保云部署

1)额外部署的GWT编译器标志用于将大部分部署冗余文件远离WAR文件。我猜你在你的WEB-INF中有大量名为deploy的文件夹。

修改 -

1)参考GWT编译器选项 - https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging

2)参考Google小组讨论 - https://groups.google.com/forum/?fromgroups=#!topic/google-web-toolkit/-WtEfDvUI4g