动态Web项目:“java.lang.ClassNotFoundException”尽管WEB-INF / lib目录中的.jar文件

时间:2013-05-03 17:47:46

标签: java eclipse jsp tomcat servlets

我正在进行一项需要一些.jar文件的作业。该任务要求我对带有JSP文件的Tomcat servlet做一些工作。

我将我的.jars包含在Eclipse的Java Build Path中,并将它们复制/添加到WEB-INF / lib目录。

当我像这样运行项目时:http://localhost:8080/project/我看到index.jsp页面带有空div,其中的数据应来自通过TestServlet.java执行的代码。

查找原因,我在查看http://localhost:8080/project/TestServlet时看到以下错误:

May 3, 2013 1:22:26 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [TestServlet] in context with path [/project] threw exception [Servlet execution threw an exception]
with root cause java.lang.ClassNotFoundException: com.aetrion.flickr.FlickrException

    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
    at TestServlet.doGet(TestServlet.java:27)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:680)

这很奇怪,因为我再次将.jars包含在Java Build Path中,并将.jars复制/添加到WEB-INF / lib目录。

任何想法或帮助?

3 个答案:

答案 0 :(得分:2)

只是为了确定,首先将jar放在web-inf / lib中,然后将其添加到t中  项目>构建路径>配置构建路径>按顺序添加jar,对吗?

尝试在“库”标签中移动顶部或几乎顶部的罐子......会出现可见性问题

答案 1 :(得分:0)

您必须尝试在类路径,项目>中添加jar。构建路径>配置构建路径>添加jar(或外部jar)

答案 2 :(得分:0)

即使我有同样的问题,这也是我解决的方法: 您可以将外部jar添加到tomcat文件夹-> lib->在系统中添加外部jar,添加后从项目中删除该文件夹并再次添加,也可以删除tomcat文件夹并复制tomcat文件夹中的所有jar- > lib,您可以将其作为外部jar添加到项目中