当路径中的类时,Servlet抛出java.lang.ClassNotFoundException

时间:2011-07-09 18:23:39

标签: java java-ee servlets

我正在编写一个简单的servlet并尝试在代码中创建我的一个类DataStore的实例。

此类是公共的,位于与Servlet代码相同的包中名为DataStore.java的文件中。

当我尝试在代码中创建一个新实例时:

DataStore dStore = new DataStore();

我得到以下异常:

java.lang.ClassNotFoundException: backend.DataStore
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    at backend.AjaxServlet.createGame(AjaxServlet.java:196)

我尝试在不同的文件中创建此类的实例,并且效果很好。 知道这可能是什么原因吗?

1 个答案:

答案 0 :(得分:8)

如果JVM抛出ClassNotFoundException,则在类路径中找不到该类。这意味着没有正确配置某些内容。

所以,检查一下课程(我的意思是文件backend.DataStore.class)。它的路径应该是:web application folder/WEB-INF/classes/backend/DataStore.class。如果将此类打包到单独的jar文件中,则此jar必须位于YOUR_WEB_APP/WEB-INF/lib/yourjar.jar