为什么可以';Eclipse找不到javax.servlet.ServletContextListener?
我知道这是一个已经被问了很多次的问题,但我尝试了几乎所有我找到的解决方案,但仍然不起作用 我的工作对象是:为什么可以';Eclipse找不到javax.servlet.ServletContextListener?,java,eclipse,maven,tomcat6,Java,Eclipse,Maven,Tomcat6,我知道这是一个已经被问了很多次的问题,但我尝试了几乎所有我找到的解决方案,但仍然不起作用 我的工作对象是: 日食开普勒 爪哇7 马文 Tomcat 6.0.37 我正在尝试启动服务器,但由于以下原因失败: INFO: Starting Servlet Engine: Apache Tomcat/6.0.37 Jul 13, 2015 3:30:54 PM org.apache.catalina.core.StandardContext listenerStart SEVERE: Error
- 日食开普勒
- 爪哇7
- 马文
- Tomcat 6.0.37
INFO: Starting Servlet Engine: Apache Tomcat/6.0.37
Jul 13, 2015 3:30:54 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.springframework.web.util.Log4jConfigListener
java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1595)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4149)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContextListener
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 29 more
Jul 13, 2015 3:30:54 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1595)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4149)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContextListener
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 29 more
Jul 13, 2015 3:30:54 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.springframework.web.context.request.RequestContextListener
java.lang.NoClassDefFoundError: javax/servlet/ServletRequestListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1595)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4149)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletRequestListener
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 29 more
第一次导入项目时,启动成功,应用程序成功。但是它不再工作了,所以我创建了一个新的工作区,并在新的工作区中第二次导入了项目,这就是我得到这些错误的地方
到目前为止我已经尝试过的:
- 使用Tomcat安装而不是工作区元数据
- 很多项目/清理、Maven/更新项目、服务器/清理
- 服务器/打开启动配置->我在
用户条目下的类路径中添加了
和commons-logging-1.1.1.jar
spring-web-3.2.3.RELEASE.jar
- 当我使用工作区元数据时,我还尝试将WEB-INF文件夹复制并粘贴到元数据的.plugin文件夹中
- 我还检查了jar是否在.m2文件夹中,看起来还可以
我猜您出现此错误是因为您试图从Eclipse启动tomcat服务器。因此,问题在于Eclipse如何配置WebApp的类路径 在Eclipse中,转到项目的“属性”窗口。 选择: Java构建路径>库 选择: 服务器运行时>ApacheTomcat
这将告诉Eclipse,它应该考虑Tomcat的LIB导演JAR是Tomcat的类路径的一部分。
< P>这对我起了作用: 我做了很多清理、刷新,甚至删除服务器并重新添加。我也这样做了:右键单击project/Maven/updateproject 发生了什么事 java.lang.NoClassDefFoundError:javax/servlet/ServletContextListener 消失了。事实上,我没有任何错误了,但是服务器启动得太快了,很明显没有加载任何页面。因为当页面真正加载时,我可以在控制台中看到加载日志。这不是一个案子,我得到了一个 http状态404 在那之后,我做了好几次 右键单击服务器/属性/交换机位置 然后,我遇到了另一个与数据库连接相关的错误: java.lang.ClassNotFoundException:oracle.jdbc.pool.OracleConnectionPoolDataSource 因此,我实施了@Ranger的第二个建议 其中包括添加 ojdbc14.jar 到运行配置的类路径,在 用户条目 然后它成功了 我不知道是Maven、Eclipse还是Tomcat在检测库方面如此不稳定。不管怎样,它成功了,谢谢大家 如果您使用的是Tomcat10,那么您必须在maven/gradle依赖项中使用
jakarta.servlet
而不是javax.servlet
我将更详细的解释发布在:
Tomcat10不会调用使用
javax.servlet
的侦听器类,这非常令人困惑,因为所有教程和堆栈溢出指南都会告诉您使用javax.servlet
maven依赖项,但这正是为什么在Tomcat10中不会调用Listener的原因。应用程序部署的war文件的WEB-INF/lib中有哪些库?您可以从Eclipse内部打开类型ServletContextListener
?它来自哪个jar文件?我的Java构建路径中有ApacheTomcatV6.0[ApacheTomcatV6.0],但在您附带的屏幕盖中没有看到servlet-api.jar。构建路径条目(对于Apache Tomcat)是否展开以显示Tomcat/lib目录中的JAR?是的,它位于Apache Tomcat构建路径中,我刚刚编辑了我的帖子并添加了一个屏幕截图。Tomcat是如何启动的?我通常在服务器上右键单击/启动