idea中Tomcat服务器启动错误问题及解决
作者:开发者超屎
idea中Tomcat服务器启动错误
使用工具:
- idea14
- Tomcat 8.0.23
1、之前项目运行的好好的,突然从GitHub上克隆下来后,在idea中打开,运行Tomcat时报错。
报错部分源码如下:
04-Mar-2018 00:32:05.636 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.springframework.web.context.ContextLoader.initWebApplicationContext Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
2、经过多次百度之后,终于弄懂了为什么会报这个错了。
原因在于工程项目是从github上下载下来的,在本地电脑上时首次运行,
看报错代码:
nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
可知其大概意思是说:
找不到文件applicationContext.xml异常,无法打开该文件路径。这个文件呢就是spring配置文件applicationContext.xml。
其原因有两个:要么就是没用这个文件,要么就是该文件路径错误。
但是我是有这个applicationContext.xml文件的,那么肯定就是路径错误了。
3、最后发现我的web.xml中没有配置该文件的路径,所以把这段代码写到web.xml中:
<!-- 设置Spring的配置文件启动路径 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:applicationContext.xml </param-value> </context-param>
注意
在放进去的时候,尽量将此段代码放到靠前位置,因为在tomcat启动后web项目会先初始化上下文,
这段配置正是指定了上下文配置的文件位置,在上下文初始化完成之后才应当继续加载其余各种配置,
而我们的springMVC的servlet仅仅是springMVC框架的相关配置,
就好比struts2的配置一样,项目整体还是由spring去管理的。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。