一: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文件夾下面即可!!!問題解決~