2013-04-19 4 views
0

Я хочу, чтобы Jetty запускал мое приложение весны. В eclipse с плагином run-jetty-run все кажется прекрасным. Когда я копирую архив войны (который я произвожу с мавена) к причалу WebApps, а затем введите URL, я получаю сообщение об ошибке:Развертывание приложения Spring на Jetty

org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/erastotenes-servlet.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/erastotenes-servlet.xml] 

Мой web.xml:

<web-app id="walladverts" version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 

<servlet> 
    <servlet-name>erastotenes</servlet-name> 
    <servlet-class> 
     org.springframework.web.servlet.DispatcherServlet 
    </servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>erastotenes</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

<filter> 
<filter-name>encodingFilter</filter-name> 
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
    <init-param> 
     <param-name>encoding</param-name> 
     <param-value>UTF-8</param-value> 
    </init-param> 
    <init-param> 
     <param-name>forceEncoding</param-name> 
     <param-value>true</param-value> 
    </init-param> 
</filter> 

<filter-mapping> 
    <filter-name>encodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

EDIT Добавлен контекст слушателя и до сих пор не помогло:

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
     /WEB-INF/erastotenes-servlet.xml 
    </param-value> 
</context-param> 
+0

Вы должны добавить контекст загрузчика слушатель в web.xml. http://stackoverflow.com/questions/11014782/adding-context-loader-listener-to-web-xml-in-spring-mvc – duffymo

+0

Это не изменилось. –

+0

Есть ли /WEB-INF/erastotenes-servlet.xml в войне? Попробуйте распаковать войну в/webapps. – Vitaly

ответ

0

Это устранило проблему:

<build> 
<plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <configuration> 
     <webXml>src/webapp/WEB-INF/web.xml</webXml> 
     <webResources> 
     <resource> 
      <!-- this is relative to the pom.xml directory --> 
      <directory>src/webapp/</directory> 
     </resource> 
     </webResources> 
    </configuration> 
    </plugin> 
</plugins> 

+0

Не могли бы вы пояснить, в чем проблема? – Vitaly

+0

Это конфигурация по умолчанию для 'maven-war-plugin', когда проект« webapp '. –

Смежные вопросы