2

Jettyで使用する簡単なサーブレットがあります。

これは私のサーブレットの断片です:

import org.json.simple.JSONObject;
import org.json.simple.JSONValue;

public class Oscar4Servlet extends HttpServlet
{ 
...

    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException
    {
        request.setCharacterEncoding("utf8");
        response.setCharacterEncoding("utf8");
        response.setContentType("application/json");
        PrintWriter out = resp.getWriter();

        JSONObject obj = new JSONObject();
        obj.put("message", "hello from server");
        out.print(obj);
    }
}

呼び出し後:

javac -cp  /usr/share/jetty/lib/servlet-api-2.5.jar  Oscar4Servlet.java 

このエラーが発生します:

Oscar4Servlet.java:5: error: package org.json.simple does not exist
import org.json.simple.JSONObject;
                      ^
Oscar4Servlet.java:6: error: package org.json.simple does not exist
import org.json.simple.JSONValue;

私のディレクトリには( http://code.google.com/p/json-simple/downloads/detail?name=json-simple-1.1.1.jarjson-simple-1.1.1.jarからダウンロード)ありますが...何かアイデアはありますか?WEB_INF/lib

4

1 に答える 1

0

コンパイル時には、完全なコンパイル クラスパスを指定する必要があります。したがって、コマンドを次のように変更する必要があります。

javac -cp  /usr/share/jetty/lib/servlet-api-2.5.jar:<path-to>/json-simple-1.1.1.jar Oscar4Servlet.java 

(そしてもちろん他の依存関係)

または、すべての依存関係が含まれている場合は、次の/some-path/WEB-INF/libことができます。

javac -cp  /usr/share/jetty/lib/servlet-api-2.5.jar:/some-path/WEB-INF/lib/* Oscar4Servlet.java 
于 2013-03-04T12:25:11.030 に答える