更新eclipse插件后,由于应用程序限制为150MB,无法再次部署

时间:2014-07-19 04:22:06

标签: eclipse google-app-engine size limit quota

令人难以置信的是,这个问题仍然存在,谷歌不解决它。

你更新了sdks(gwt / gae)和eclipse插件,并且BANG !!你不能再部署了。

java.io.IOException: Applications are limited to 157286400 bytes of resource files, you have 212487584.

但现在我将帮助Google找到解决此问题的真正最终解决方案。

首先,以下是一些遇到过同样问题的人:

我个人在2011年遇到了这个问题:

groups.google.com/forum/#!searchin/google-appengine/application$20size$20limit/google-appengine/Xe2nX1MYKEE/B24as7k8ubwJ

其他人:

groups.google.com/forum/#!msg/nimbits/FY02Yq6lyMk/DWa5N-gzo7sJ
code.google.com/p/googleappengine/issues/detail?id=7676
comments.gmane.org/gmane.org.google.gwt/60935

问题不在于应用程序的大小。它是eclipse插件的一些bug。 我知道这次因为我在sdks和插件更新之前恢复了我的eclipse的备份。我可以正常部署(同一个项目没有任何改动)。我只更新了gwt sdk,是的,我可以部署。比我更新了appengine sdk,是的,我可以部署。但是,如果我去eclipse插件而不是我不能。

这是问题的可能原因。我创建了eclipse插件的snipet代码,在此链接上生成消息: http://code.google.com/p/googleappengine/source/browse/trunk/java/src/main/com/google/appengine/tools/admin/AppVersionUpload.java?spec=svn450&r=450

if (resourceTotal > resourceLimits.maxTotalFileSize()) {
   throw new LocalIOException("Applications are limited to "
  + resourceLimits.maxTotalFileSize() + " bytes of resource files, "
  + "you have " + resourceTotal + ".");
}

在同一页面上,您可以看到变量resourceTotal是目录中文件大小的总和,表示一个名为basepath的变量,该变量由此方法启动:

private File getBasepath() {
    File path = app.getStagingDir();
    if (path == null) {
        path = new File(app.getPath());
    }
}

我认为问题出在这里。它使用临时目录(在更新之前创建的临时目录),但如果由于某种原因它返回null,它使用的应用程序路径当然要大得多,而不是上传到gae的内容。我认为它应该给出一个错误而不是这种可以结束限制配额的处理。

希望这可以在将来帮助某人。我刚刚失去了2天的工作原因。我有这两个版本的eclipse问题,没有它,如果有人需要aditional信息,并希望谷歌纠正这一点,因为有一天我需要升级插件。

[], 罗德里戈。

2 个答案:

答案 0 :(得分:1)

我曾经遇到过这个问题。原因非常不同:我使用其他Google帐户登录。一旦我切换到正确的帐户,部署就像往常一样顺利进行。

答案 1 :(得分:0)

刚出现这个问题。对我来说,这又是一个不同的东西。

令人沮丧的是,错误原因与错误消息完全无关: misleading error message

因此,它与应用程序大小完全无关,但我在部署期间只是在我的应用程序名称上输入了错字: GAE deploy window

至少一次我很容易解决这个问题!