2013-09-08 5 views
1

У нас есть приложение maven + springMVC, которое использует плагин maven для приставки, чтобы запустить приложение, когда мы делаем разработку. Мы используем файл jetty-env.xml для установки контекста и конфигурации JNDI. Приложение будет частью более крупного портала.Причал многократный контекст

Мы используем Maven плагин пристани

<groupId>org.mortbay.jetty</groupId> 
<artifactId>jetty-maven-plugin</artifactId> 
<version>7.2.0.v20101020</version> 

с конфиге

<webAppConfig> 
    <contextPath>/ASX/mainApp</contextPath> 
    <jettyEnvXml>src/main/resources/jetty-env.xml</jettyEnvXml> 
</webAppConfig> 

и использовать молы-env.xml

<Configure id='jms-webapp-wac' class="org.eclipse.jetty.webapp.WebAppContext"> 
    <Set name="contextPath">/ASX/mainApp</Set> 
    ... 
    ... 
</Configure> 

Наша структура НАПРАВЛ:

MainApp 
    /forms 
    page1.html 
    page2.html 
    etc... 
    /WEB-INF 
    web.xml 

PortalApp 
    /BAL_S 
    /css 
    /images 
    /js 
    etc... 

Теперь PortalApp имеет только статические файлы и на самом деле не веб-приложение, то есть он не имеет web.xml

Применение зависит от JavaScripts от портала. Расположение некоторых Java-Script, как:

<script src="/BAL_S/js/portal-jquery-lib.js"></script> 
<script src="/BAL_S/js/libs/foundation.js"></script> 
etc... 

Как вы можете видеть, что расположение начинается с/BAL_S, которые мы находим сложно получить работу, как это, как со ссылкой на другой контекст WebAPP. Когда мы запускаем приложение с помощью причала, мы получаем ошибки javaScript, потому что он не может найти/BAL_S

Если мы развернем наше приложение в tomcat и настроим его, как показано ниже, приложение отлично работает без ошибок javaScript.

<Context path="/" docBase="PortalApp"/> 
  1. Таким образом, вопрос, как я могу сделать подобную конфигурацию в Jetty поэтому при запуске приложения оно обнаруживает/BAL_S контекст?

  2. Я думаю, нам нужно иметь два контекста в Jetty. Как это настроить?

  3. Что такое webConfig для плагина maven для ссылки на этот конфиг?

Надеюсь, что кто-то может помочь. Пример был бы полезен.

Заранее спасибо. GM

+0

Привет, коллега! :-) – Hurda

ответ

1

OK Все, что я должен был сделать, это добавить к Maven пристани конфигурации плагина следующее:

  <contextHandlers> 
       <contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext"> 
        <contextPath>/</contextPath> 
        <resourceBase>src/main/PortalApp/</resourceBase> 
       </contextHandler> 
      </contextHandlers> 

Таким образом, это настраивает путь контекста «/» в «SRC/основной/PortalApp /», и теперь мы могут попасть в/BAL_S в теге.

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