动态web项目:“动态web项目”;java.lang.ClassNotFoundException“;尽管WEB-INF/lib目录中有.jar文件
我正在处理一个需要一些.jar文件的任务。这个任务要求我在带有JSP文件的TomcatServlet上做一些工作 我在Eclipse的Java构建路径中包含了我的.jar,并将它们复制/添加到WEB-INF/lib目录 当我像这样运行项目时:动态web项目:“动态web项目”;java.lang.ClassNotFoundException“;尽管WEB-INF/lib目录中有.jar文件,java,eclipse,jsp,tomcat,servlets,Java,Eclipse,Jsp,Tomcat,Servlets,我正在处理一个需要一些.jar文件的任务。这个任务要求我在带有JSP文件的TomcatServlet上做一些工作 我在Eclipse的Java构建路径中包含了我的.jar,并将它们复制/添加到WEB-INF/lib目录 当我像这样运行项目时:http://localhost:8080/project/我看到了带有空div的index.jsp页面,其中数据应该来自通过TestServlet.java执行的代码 查找原因,当我签出http://localhost:8080/project/TestS
http://localhost:8080/project/
我看到了带有空div的index.jsp
页面,其中数据应该来自通过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)
这很奇怪,因为我再次将.jar包含在Java构建路径中,并将.jar复制/添加到WEB-INF/lib目录
有什么想法或帮助吗?您必须尝试将jar添加到类路径、项目>构建路径>配置构建路径>添加jar(或外部jar)只是为了确保,首先将jar放在web inf/lib中,然后将其添加到
项目>构建路径>配置构建路径>添加jar,按照顺序,对吗
尝试在“库”选项卡中移动顶部或几乎顶部的jar。。。即使我有同样的问题,也会出现可见性问题。我就是这样解决的:
您可以将外部jar添加到tomcat文件夹->库->在系统中添加外部jar,添加后从项目中删除该文件夹并再次添加,或者您可以删除tomcat文件夹并复制tomcat文件夹->库中的所有jar,您可以将其作为外部jar添加到项目中它们已经存在,我将它们放在构建路径和WEB-INF/libok中,因此,我决定尝试“重新启动”——我删除了构建路径中的所有JAR,并将它们从INF/lib目录中删除。然后我首先将它们重新添加到目录中,然后将它们放在构建路径中并运行--这是有效的,我真的不知道为什么,但它做到了,现在我可以集中精力调试我的代码了,谢谢!