我尝试部署我的项目时出现问题: «找到了一个太大而无法上传的jar文件»。当脚本尝试上传 appengine-api-1.0-sdk-1.5.3.jar时(15.8 MB,尽管只允许10MB文件),问题就会发生。 这个问题自2009年以来就非常有名了。谷歌问题跟踪器中也有很多门票,这里也是如此。网络上有很多这种类型的消息。但他们都指的是这两个解决方案:向Google应用引擎部署项目时出错
1)使用--enable_jar_splitting。当然,我试过使用它。没有成功:
# appengine-java-sdk-1.5.3/bin/appcfg.sh -e [email protected] --enable_jar_splitting update project/war
Reading application configuration data...
......
java.lang.IllegalStateException: Found a jar file too large to upload: "/tmp/appcfg4869648953084473935.tmp/WEB-INF/classes/war/WEB-INF/lib/appengine-api-1.0-sdk- 1.5.3.jar". Consider using --enable_jar_splitting.
Unable to update app: Found a jar file too large to upload: "/tmp/appcfg4869648953084473935.tmp/WEB-INF/classes/war/WEB-INF/lib/appengine-api-1.0-sdk- 1.5.3.jar". Consider using --enable_jar_splitting.
Please see the logs [/tmp/appcfg5857347513630341491.log] for further information.
我试图使用不同版本的SDK(1.4.3,1.5.2和最新的1.5.3)。但该脚本忽略了--enable_jar_splitting选项。
2)将appengine-api-1.0-sdk-1.5.3.jar解包到WEB-INF/lib。在这种情况下出现另一个错误。项目受到3000个文件的限制。大约有3500个文件。在appengine-api-1.0-sdk-1.5.3.jar归档和我的项目中的100个文件。所以,这个解决方案并不适用。
3)我自己找到了3D解决方案。您可以从WEB-INF/lib目录中删除appengine-api-1.0-sdk-1.5.3.jar。它的作品,但只有在你有简单的项目的情况下。但是,如果项目使用Google Appengine的所有功能,则它不起作用。我需要使用数据存储和其他一些功能。如果没有appengine-api-1.0-sdk-1.5.3.jar项目可以部署,但它不起作用,并在谷歌错误控制台中产生错误(缺少类)。
我发送了一条消息到谷歌。不幸的是,他们保持沉默。
请帮助我,你聪明的家伙。我会非常感激。希望有一个小窍门可以让它工作。
如果您没有上传jar,那么您尝试使用哪些类会给您带来错误? –