Moという名前のクラスがあります。Moには次のような静的関数があります。
public static void logsomething(String s)
logsomethingの本体はlog4j(jar)を使用します。問題ない。
Main関数もあります:
public static void main(String[] args) {
// TODO Auto-generated method stub
Mo.logsomething("sth");
}
私はメインでMo.logsomething()を呼び出しました。大丈夫です。エラーはありません。
しかし、サーブレットdoGetでこれをMo.logsomething( "sth")と呼びます。
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
Mo.logsomething("sss");
response.getWriter().println("<h1>hello</h1>");
}
例外を取得します:java.lang.NoClassDefFoundError:org / apache / log4j / Layout
だからそれは奇妙です。何が起こったのかを確認するためにデバッグを試みます。デバッグカーソルが次の行にある場合:Mo.logsomething( "sss"); F5キーを押してコードをステップインします。しかし、エラーが発生します:ソースが見つかりません。
私がどうかしましたか、まずいことでもありましたか?