Eclipse调试(使用F5)在servlet和Main应用程序中

时间:2013-01-30 07:00:40

标签: eclipse java-ee log4j

我有一个名为Mo的班级。 Mo具有静态功能如下:

public static void logsomething(String s) 

logomething的主体使用log4j(jar)。这不是问题。

我还有一个主要功能:

public static void main(String[] args) {
        // TODO Auto-generated method stub
            Mo.logsomething("sth");
    }

我在main中调用了Mo.logsomething()。没关系。没错。

但我在Servlet 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进入代码。 但我收到错误:找不到来源。

我怎么了?

1 个答案:

答案 0 :(得分:1)

您没有编写您使用的应用程序服务器。但是您的错误可能是类路径错误。

问题是您的应用程序服务器找不到Log4J库。

通常可以通过将Log4J jar文件放入Web应用程序的WEB-INF/lib/目录并再次部署该应用程序来解决此问题。