来自servlet的未捕获异常 - JSON GAE部署问题

时间:2013-05-28 09:16:21

标签: json google-app-engine maven

我在浏览器上创建了一个脚本,调用部署在GAE上的servlet。 servlet使用数据存储区。 每次调用servlet我都会收到以下错误

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

对于开发,我使用eclipse和Maven。

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

更新 为了更好地澄清我的问题,我发布了来自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;

}

}

有人可以帮我解决这类错误吗?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

在上传之前在eclipse中检查项目的war / WEB-INF / lib目录,并确保此目录中存在json和其他相关文件。

修改 您可以查看: