我嘗試部署我的項目時出現問題: «找到了一個太大而無法上傳的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,那麼您嘗試使用哪些類會給您帶來錯誤? –