我正在尝试使用Maven和Spring在Eclipse中构建一个应用程序。
在我的应用程序中似乎一切都很好,但是一旦我部署它,我收到以下错误消息:
org.springframework.beans.factory.BeanDefinitionStoreException:从ServletContext资源解析XML文档的IOException [/src/main/resources/springWeb.xml];嵌套异常是java.io.FileNotFoundException:无法打开ServletContext资源[/src/main/resources/springWeb.xml]
我已经尝试了所有内容,只要更改我的web.xml文件中的param值,但没有任何效果。
这是我的web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Olympus</display-name>
<servlet>
<servlet-name>springLoginApplication</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>src/main/resources/springWeb.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springLoginApplication</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
&#13;
这是我的springWeb.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="org.olympus" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/views/" />
<property name="suffix" value=".jsp" />
</bean>
<import resource="springBeanConfiguration.xml"/>
</beans>
&#13;
这是我的文件夹结构
答案 0 :(得分:0)
通常,在部署后,您的应用程序中不会有src / main目录。所以你的&#34; src / main / resources / springWeb.xml&#34;应该更像是&#34; resources / springWeb.xml&#34;。看一下它所部署的应用程序的目录(或你的目标目录),并找出你的springWeb.xml文件在部署时的实际位置。
答案 1 :(得分:0)
以下配置应该适合您。使用classpath E.g参考src / main / resources下的xml资源。的类路径:springWeb.xml 强>
<servlet>
<servlet-name>springLoginApplication</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springWeb.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springLoginApplication</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>