2012-03-29 1 views
3

Я пишу интеграционные тесты для веб-приложения, используя плагин maven-jetty. Я использую цель развертывания войны на этапе предварительной интеграции. Веб-приложение зависит от другого веб-приложения, которое я хотел бы высмеять, показывая статический контент из того же экземпляра причала.Получите maven-jetty-plugin для развертывания войны и одновременно подайте внешний статический контент

вот соответствующая часть моей молы конфигурации:

<execution> 
    <id>start-jetty</id> 
    <phase>pre-integration-test</phase> 
    <goals> 
     <goal>deploy-war</goal> 
    </goals> 
    <configuration> 
     <connectors> 
      <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> 
       <port>${jetty.port}</port> 
      </connector> 
     </connectors> 
     <daemon>true</daemon> 
     <webApp>${build.directory}/motown2-war.war</webApp> 
     <webAppConfig> 
      <extraClasspath>${basedir}/target/classes/;${basedir}/target/test-classes</extraClasspath> 
      <contextPath>/${context.path}</contextPath> 
     </webAppConfig> 
     <contextHandlers>   
      <contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext"> 
       <contextPath>/other</contextPath> 
       <resourceBase>/opt/data</resourceBase> 
      </contextHandler> 
     </contextHandlers> 
    </configuration> 
</execution> 

Я на основе этой конфигурации на http://blog.markfeeney.com/2009/12/scala-lift-jetty-6-static-content-and.html, но конфигурации для обработчика контекста, кажется, игнорируется. Я не могу найти трассировку этого в файлах журнала, jetty возвращает 404 вместо статического содержимого , сам веб-приложение работает.

Что мне не хватает?

ответ

1

Я понял это:

конфигурация resourceHandlers работает только для молы: цели выполнения, поэтому я теперь работает с пустой веб-приложение в моем тестовом проекте, который перекрывает веб-приложение для быть проверены:

<execution> 
    <id>start-jetty</id> 
    <phase>pre-integration-test</phase> 
    <goals> 
     <goal>run</goal> 
    </goals> 
    <configuration> 
     <connectors> 
      <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> 
       <port>${jetty.port}</port> 
      </connector> 
     </connectors> 
     <daemon>true</daemon> 
     <webApp>${build.directory}/motown2-war.war</webApp> 
     <webAppConfig> 
      <extraClasspath>${basedir}/target/classes/;${basedir}/target/test-classes</extraClasspath> 
      <contextPath>/${context.path}</contextPath> 
      <baseResource implementation="org.mortbay.resource.ResourceCollection"> 
       <resourcesAsCSV>../motown2-war/src/main/webapp,src/main/webapp</resourcesAsCSV> 
      </baseResource> 
     </webAppConfig> 
     <contextHandlers>   
      <contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext"> 
       <contextPath>/other</contextPath> 
       <resourceBase>/opt/data</resourceBase> 
      </contextHandler> 
     </contextHandlers> 
    </configuration> 
</execution> 
+0

Я бы обновил сайт org.mortbay.jetty: причал-maven-plugin для причала 7 или причал 8 в зависимости от версии api сервлета, в которой вы нуждаетесь. в плагине было довольно много разработок с 6 дней. –

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