2009/10/21

App engine上傳 error

從今年五月份開始玩Google App engine也有一段時間了,由於之前只開放Python語法,進入門檻使我怯步許久。八月份突然發現可以用Java語法開發,便讓我雀躍不已,雖然我對Java語法不熟,但至少碩士論文是用Java完成的,而且近兩年所學的C#語法根本就是Java的翻版,學習成本大幅降低。
尤其是使用eclipse這個IDE來輔助開發,還有Google App Engine專用的library,可以很smooth的開發專案。持續玩了一個多月,逐漸摸索出一些小小的心得,以後將陸續將學習的困境發表出來,提供其他新手參考。今天先將剛剛遇到的狀況提供出來:
我先前已建置了一個Java專案,寫了一些的Jsp檔、Servlet、以及JDO DataStore,也Deploy到App Engine主機過好幾次,因為App Engine專用的library及功能,只要按一個按鈕就完成deploy了,使我以為deploy---很簡單,沒想到今天就遇上了困難。在上傳檔案的時候,發生了下面的錯誤訊息:
Unable to upload:
com.google.appengine.tools.admin.JspCompilationException: Failed to compile the generated JSP java files.
at com.google.appengine.tools.admin.Application.compileJavaFiles(Application.java:416)
at com.google.appengine.tools.admin.Application.compileJsps(Application.java:376)
at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:252)
...

後來才發現原來是因為我把一個DataStore物件的屬性值由public改成private,而恰巧這個屬性是一個Sub-Object,我猜是主機上舊的物件已經有資料在了,因為屬性有衝突,所以不讓我上傳。經改回成public後,就順利上傳了。

2 則留言:

張可樂 提到...

我也遇到相同問題 可是我找不到問題~"~

自由人 提到...

建議從DataStore物件的異動開始找問題。