我正在编写一个简单的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)
我尝试在不同的文件中创建此类的实例,并且效果很好。 知道这可能是什么原因吗?
答案 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