Веб-проект Maven не загружает XML-файл контекста spring

Я создал веб-проект, затем преобразовал его в проект maven, затем я настраиваю web.xml с помощью сервлета cxf и всех зависимостей в файле pom.xml, но когда я запускаю приложение в Tomcat, ничего о весеннем контексте не загружается: он ведет себя как обычный веб-проект без spring. Не могли бы вы сказать мне, что не так? вот мои файлы web.xml и applicationContext.xml:

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:jaxws="http://cxf.apache.org/jaxws"
xmlns:jaxrs="http://cxf.apache.org/jaxrs" 
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:tx="http://www.springframework.org/schema/tx"  
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation=" 
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context-3.2.xsd
     http://www.springframework.org/schema/jee 
     http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
     http://www.springframework.org/schema/beans
     http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
     http://cxf.apache.org/jaxws
     http://cxf.apache.org/schemas/jaxws.xsd
     http://cxf.apache.org/jaxrs
     http://cxf.apache.org/schemas/jaxrs.xsd">

<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<import resource="/spring-datasource.xml"/>

<context:annotation-config />
<context:component-scan base-package="com.webservices.implementations" />
<context:component-scan base-package="com.dao.implementations"/>


<jaxrs:server id="productWebService" name="productWebService"
    address="/productServices">
    <jaxrs:serviceBeans>
        <ref bean="productService"/>
    </jaxrs:serviceBeans>
</jaxrs:server>

</beans>

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"   
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
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>TestCxfRs</display-name>


<listener>
    <listener-  
       class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
    <servlet-name>CXF Servlet</servlet-name>
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>CXF Servlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>
    </web-app>

person Rachid    schedule 12.03.2014    source источник


Ответы (2)


попробуйте добавить это в свой web.xml

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
person Terry Ma    schedule 12.03.2014
comment
Спасибо, я обнаружил, что военный файл даже не содержит никаких веб-файлов или xml, поэтому я создал другой проект с подходящим архитеком, и приведенный выше код работает просто отлично, spring по умолчанию загружает файл applicationContext.xml. - person Rachid; 12.03.2014

Попробуйте поместить файл applicationContext.xml в каталог /web-inf/classes/ вашего веб-проекта. либо загрузите его вручную с помощью любого XML-парсера или добавьте следующие строки в ваш web.xml contextConfigLocation /WEB-INF/applicationContext.xml

person user3409701    schedule 12.03.2014