2013-05-28 31 views
0

我在瀏覽器上創建了一個腳本,用於調用部署在GAE上的servlet。該servlet使用數據存儲。 每次的servlet叫我收到以下錯誤servlet未捕獲的異常 - JSON GAE部署問題

Uncaught exception from servlet java.lang.NoClassDefFoundError: org/json/JSONException 

對於開發我使用的Eclipse和Maven。

在pom.xml中,我已經包含org.json 20090211和javax.validation。

UPDATE 爲了更好地闡明我的問題,我從servlet的

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

     StringBuilder sb = new StringBuilder(); 
     BufferedReader br = request.getReader(); 
     String str; 

     while ((str = br.readLine()) != null) 
     { 
      sb.append(str); 

     } 

     String jsonResp = sb.toString(); 

     JSONParser gparser = new JSONParser(); 

在最後一行出現的問題發佈代碼,所以我從JSONParser

public class JSONParser { 

public ArrayList<String> ReturnGoogleJSON(String ResponseString) throws IOException { 



    ArrayList<String> Row = new ArrayList<String>();   

    try { 
     JSONObject rootObject = new JSONObject(ResponseString); // Parse the JSON to a JSONObject 

     JSONArray rows = rootObject.getJSONArray("items") ; // Get all JSONArray rows 

     for(int i=0; i < rows.length(); i++) { // Loop over each each row 

       JSONObject element = rows.getJSONObject(i); // Get the element object 

       Row.add(element.getString("tag")); 
       Row.add(element.getString("link")); 
       Row.add(element.getString("priority")); 



     } 
    } catch (JSONException e) { 

     e.printStackTrace(); 
    } 
    return Row; 

} 

發佈代碼}

任何人都可以幫助我解決這類錯誤嗎?

預先感謝您。

回答

0

在上傳前檢查eclipse中war/WEB-INF/lib目錄中的項目,並確保json和其他相關文件存在於此目錄中。

編輯: 您可能要檢查:

+0

據我所知,似乎一切都設置正確。 – user2008973

+0

我有appengine-api-1.0-sdk-1.8.0.jar json-20090211.jar驗證-api-1.0.0.GA.jar gwt-servlet-2.5.1.jar validation-api-1.0.0.GA與GAE相關的.jar-我還需要什麼? – user2008973

+0

我的意思是war/WEB-INF/lib目錄的內容,而不是關於設置構建路徑,你可以使用「Navigator」視圖來雙擊確認你可以看到所有提到的jar都存在於war/WEB-INF/lib中嗎? –