查看到报错的配置文件applicationContext.xml头部如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
......
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.1.xsd"
default-lazy-init="true">
<bean></bean>
......
<bean></bean>
</beans>
报错主信息为:
Document root element "beans", must match DOCTYPE root "null"
查到网上都是说简单粗暴的在中间加上如下:
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
加完之后又出现新的报错:
Attribute "xmlns" must be declared for element type "beans"
最后找到问题是Spring版本的问题,spring 1.x版本配置文件格式为:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
......
</beans>
而spring2.x以上配置文件格式为:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
......>
<bean></bean>
......
<bean></bean>
</beans>
那就是项目使用的是1.x版本的spring,打开Project Structrue的Libraries查看到确实是1.x版本的spring
将其移除,再重新启动试一下,发现已经启动成功