关于Eclispe导入下载项目出现的问题总结
一:the selection cannot be run on any server
问题描述:项目不能装载到tomcat上,选定的项目不能在任何服务器上运行
原因分析:因为Module的版本号高于tomcat的版本号,即使是tomcat9.0也不匹配。
问题解决:降低Module的版本号就可以了,将4.0改成3.0,直接在上面修改是不可以的。需要找到导入项目的.setting,然后将 <installed facet="jst.web" version="4.0"/>改成 <installed facet="jst.web" version="3.0"/>就可以了~
二:关于applicationContext.xml和springmvc-servlet.xml出现红叉
问题分析:就是里面的版本号找不到或者不对应
问题解决:保持与lib下的jar包版本号保持一致就行了,eclispe不像idea 自动修改版本号,虽然现在改进了,不会影响项目的运行,但看着红叉很难受~ applicationContext.xml同理~
三:class path resource [applicationContext.xml] cannot be opened because it does not exist
问题描述:applicationContext.xml 这个文件不存在,说明是路径为问题
问题解决:
先查看web.xml的classpath是否如下所示:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
如果还解决不了,与问题四一起解决,看五!!!
四:BeanFactory not initialized or already closed - call 'refresh' before accessing beans
问题描述:BeanFactory未实例化或已经关闭
问题解决:
先检查一下情况
1.我创建的是web工程,在web.xml中将contextConfigLocation改成<param-value>classpath:Bean配置名.xml</param-value>
2.如果创建的不是web工程,则可能是如下产生的错误:
ApplicationContext applicationContext = new ClassPathXmlApplicationContext();
没有指定Bean配置文件,Spring实例化BeanFactory的时候默认到classPath下面查找名为applicationContext.xml的文件的,如果没有指定配置文件,则会报错。
改成:ApplicationContext ctx = new ClassPathXmlApplicationContext("指定的配置文件的名称.xml")。
还未解决,看五!
五:综合问题三和问题四的解决方法
问题描述:还有一种出现这种问题的情况,将要运行的界面放在了WEB-INF文件夹下
问题解决:只需要把要运行的界面放在WebContent文件夹下面即可!!!问题解决~