【项目启动】 tomcat启动,项目无法启动,无法正常访问/项目可以启动,报错:java.lang.ClassNotFoundException: ContextLoaderListener

简介: 使用maven搭建项目(这个错误和是不是使用maven搭建项目没有关系),然后部署到tomcat中运行。   出现问题1: tomcat跑起来了,但是启动时间很短,没有报错,项目不能正常访问 项目启动时间很短,并且没有报错 并且项目无法正常访问   发现问题过程: 查看tomcat下,发现这个项目在tomcat的webapps下部署的仅仅是项目的部分文件,有好多的东西并没有部署进来 我们发现tomcat下部署的本项目中 并没有lib依赖包库 等目录。

使用maven搭建项目(这个错误和是不是使用maven搭建项目没有关系),然后部署到tomcat中运行。

 

出现问题1:

tomcat跑起来了,但是启动时间很短,没有报错,项目不能正常访问

项目启动时间很短,并且没有报错

并且项目无法正常访问

 

发现问题过程:

查看tomcat下,发现这个项目在tomcat的webapps下部署的仅仅是项目的部分文件,有好多的东西并没有部署进来

我们发现tomcat下部署的本项目中 并没有lib依赖包库 等目录。

 

解决途径:

因此我们需要通过  使用deployment assembly为web工程指定在运行的时候,指定将依赖的工程打成jar包部署到web-inf/lib下

也就是通过这个设置项目在tomcat中要打包部署的东西

将这个选择添加到我们需要打包部署的目录中

这样  项目就可以启动起来了。

 

 

问题2:项目启动,会报错java.lang.ClassNotFoundException: ContextLoaderListener

 

 

 1 严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
 2 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
 3     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
 4     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
 5     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4153)
 6     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4709)
 7     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:802)
 8     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
 9     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:583)
10     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1080)
11     at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1003)
12     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:507)
13     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1322)
14     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:325)
15     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
16     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1068)
17     at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)
18     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1060)
19     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
20     at org.apache.catalina.core.StandardService.start(StandardService.java:525)
21     at org.apache.catalina.core.StandardServer.start(StandardServer.java:759)
22     at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
23     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
24     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
25     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
26     at java.lang.reflect.Method.invoke(Method.java:606)
27     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
28     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
29 六月 23, 2016 4:24:17 下午 org.apache.catalina.core.StandardContext listenerStart
30 严重: Error configuring application listener of class org.springframework.web.util.IntrospectorCleanupListener
31 java.lang.ClassNotFoundException: org.springframework.web.util.IntrospectorCleanupListener
32     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
33     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
34     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4153)
35     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4709)
36     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:802)
37     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
38     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:583)
39     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1080)
40     at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1003)
41     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:507)
42     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1322)
43     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:325)
44     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
45     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1068)
46     at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)
47     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1060)
48     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
49     at org.apache.catalina.core.StandardService.start(StandardService.java:525)
50     at org.apache.catalina.core.StandardServer.start(StandardServer.java:759)
51     at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
52     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
53     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
54     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
55     at java.lang.reflect.Method.invoke(Method.java:606)
56     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
57     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
View Code

 

这个报错信息显示,我们web.xml中配置的这两个Listener所依赖的类找不到:

就是这两个listener:

 1 <!-- 监听servletContext,启动contextConfigLocation中的spring配置信息 -->
 2     <listener>
 3         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 4     </listener>
 5 
 6 
 7     <!-- 防止spring内存溢出监听器   可用可不用-->
 8     <listener>
 9         <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
10     </listener>
View Code

 

发现问题的过程:

但是我们在maven的pom.xml中已经将它所依赖的架包全都导入了。

工程为maven工程,ContextLoaderListener类位于spring-web-3.1.0.RELEASE.jar包中。检查了maven的pom.xml,依赖引入正常。在工程Maven Dependencies视图中也能看到spring-web-3.1.0.RELEASE.jar包被正常引入进来了。

 

解决途径:

所以,应该是项目中所依赖的架包什么的都没有被正常的打包部署到tomcat下

 

添加后,重新clean一下项目,然后启动起来项目正常启动!!!!

 

相关文章
|
7天前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之在使用MaxCompute的Java SDK创建函数时,出现找不到文件资源的情况,是BUG吗
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
23 0
|
6天前
|
存储 Java 应用服务中间件
Springboot项目打war包部署到外置tomcat容器【详解版】
该文介绍了将Spring Boot应用改为war包并在外部Tomcat中部署的步骤:1) 修改pom.xml打包方式为war;2) 排除内置Tomcat依赖;3) 创建`ServletInitializer`类继承`SpringBootServletInitializer`;4) build部分需指定`finalName`;5) 使用`mvn clean package`打包,将war包放入外部Tomcat的webapps目录,通过startup脚本启动Tomcat并访问应用。注意,应用访问路径和静态资源引用需包含war包名。
|
7天前
|
Java 测试技术 Maven
Spring Boot单元测试报错java.lang.IllegalStateException: Could not load TestContextBootstrapper [null]
Spring Boot单元测试报错java.lang.IllegalStateException: Could not load TestContextBootstrapper [null]
|
7天前
|
Java 微服务
IDEA报错There is insufficient memory for the Java Runtime Environment to continue.
IDEA报错There is insufficient memory for the Java Runtime Environment to continue.
|
8天前
|
分布式计算 DataWorks 监控
DataWorks操作报错合集之DataWorks在调用java sdk的createFile功能时报错com.aliyuncs.exceptions.ClientException: 1201111000 如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
10 1
|
9天前
|
JavaScript Serverless API
Serverless 应用引擎操作报错合集之在Serverless 应用引擎中,FC3.0读取response body的时候出现错误提示"Caused by: java.io.IOException: closed"如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
24 3
|
4月前
|
存储 Java Maven
使用 nohup 部署和后台运行Java 项目
使用 nohup 部署和后台运行Java 项目
177 1
使用 nohup 部署和后台运行Java 项目
|
弹性计算 数据可视化 关系型数据库
阿里云服务器部署Java Web项目和连接MySQL数据库全流程
阿里云服务器部署Java Web项目和连接MySQL数据库全流程
4992 0
阿里云服务器部署Java Web项目和连接MySQL数据库全流程
|
11天前
|
Java 应用服务中间件 Docker
【Docker】部署启动java项目
【Docker】部署启动java项目
16 2
|
9月前
|
Java
docker-compose部署java项目
docker-compose部署java项目
569 0