2017-02-22 28 views
0

Я пытаюсь настроить Maven плагин пристани, чтобы начать свою войну приложения, но у него есть некоторые осложнения, как в качестве описания последующего:Доля Загрузчик классов между несколькими в Jetty Maven Plugin

1º - Он имеет зависимости с EJB баночкой; 2º - Он имеет зависимости от войны (тег jstl: import context = "nscl"); 3º - Погрузчик классов между войнами должен быть разделен.

Итак, мне нужна помощь для решения третьей проблемы. Смотрит мою конфигурацию плагина эркера в pom.xml:

 <plugin> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
      <version>9.4.1.v20170120</version> 
      <configuration> 
       <useProvidedScope>true</useProvidedScope> 
       <useTestScope>true</useTestScope> 
       <webApp> 
        <contextPath>/nscl/cntr</contextPath> 
       </webApp> 
       <contextHandlers> 
        <contextHandler implementation="org.eclipse.jetty.maven.plugin.JettyWebAppContext"> 
         <war>${contexto.war.path}</war> 
         <contextPath>/nscl</contextPath> 
        </contextHandler> 
       </contextHandlers> 
       <systemProperties> 
        <systemProperty> 
         <name>spring.profiles.active</name> 
         <value>test</value> 
        </systemProperty> 
       </systemProperties> 
      </configuration> 
     </plugin> 

Проблема заключается в том, когда молы начинает вторую войну (контекстно-путь = NSCL), я получаю проблемы, говоря классы, используемых для начала первой войны не существует во-вторых, образец представляет собой классы весеннего каркаса.

Спасибо !!!!

ответ

0

Вы попадаете в стандартное поведение сервлета.

Ваш WebApp не может использовать один и тот же ClassLoader.

Это фундаментальная часть того, что является Servlet Spec WebApp, изоляцией ClassLoader.

Попытка заставить его просто создать загадочные проблемы с иерархией ClassLoader (ошибки InvalidClassChange, утечки памяти, сбои GC, и т.д.)

Может быть, вы можете подробно почему вы думаете, что это нужно.

Поскольку, вероятно, существует стандартный способ выполнить его, используя функции спецификации Servlet (а не бороться с ней).