【发布时间】:2013-12-11 00:37:04
【问题描述】:
我对 Java Servlet 比较陌生。我正在尝试从我的 MedicareLocatorServlet 中的 doGet() 方法创建一个名为 HospitalFinder 的类的实例。 HospitalFinder 类使用外部库。当我从网页发起获取请求时,servlet 会抛出 ClassNotFoundException。 以下是异常详情:
SEVERE: Servlet.service() for servlet [MedicareLocatorServlet] in context with path [/Medicare] threw exception [Servlet execution threw an exception] with root cause
java.lang.ClassNotFoundException: org.openrdf.sail.Sail
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
at testclass.getHFInstance(testclass.java:6)
at MedicareLocatorServlet.doGet(MedicareLocatorServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
当我尝试从同一个包中的另一个类创建 HospitalFinder 的实例时,没有抛出异常。我试图寻找处理 classNotFoundException 的方法,但似乎没有任何效果。 P.S - 我正在使用 Eclipse 动态 Web 项目。 有人可以帮我解决这个问题吗?
【问题讨论】:
-
您必须将所有第三方 jar 放入应用程序 classpth。类似于 ../yourapp/WEB-INF/lib
-
MedicareLocatorServlet...鉴于最近发生的事件,这将是一个很好的笑话:-D -
要将其部署到标准 servlet 容器中,您只需将 jar 文件放入 Web 应用程序下的 WEB-INF/lib 中。但是要通过 Eclipse 运行它,您需要编辑一个称为部署程序集的东西。
-
感谢@Jorge Campos。它就像一个魅力!
标签: java servlets classnotfoundexception