WAS 6.1 - Развертывание нескольких WAR в одном EAR - PullRequest
1 голос
/ 06 сентября 2011

Итак, из того, что я прочитал, это должно быть довольно просто выполнить ... Я выполнил настройку, аналогичную приведенной здесь при создании файла application.xml.

<application>
   <display-name>test</display-name>

   <module>
      <web>
         <web-uri>foo.war</web-uri>
         <context-root>foo</context-root>
      </web>
   </module>

   <module>
      <web>
         <web-uri>bar.war</web-uri>
         <context-root>bar</context-root>
      </web>
   </module>

</application>

Я протестировал обаэти приложения отдельно внутри этой JVM, и они работали нормально ... однако при объединении я получаю ошибку Struts 2 (оба приложения были созданы с использованием структуры Struts 2), и я не уверен, чего не хватает.Ошибка выглядит следующим образом:

[Servlet Error]-[Filter [struts2]: could not be initialized]: Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - wsjar:file:<my filepath>/WEB-INF/lib/struts2-core-2.0.14.jar!/struts-default.xml:30:72 

Есть какие-нибудь мысли?


* Править. Итак, я читал, что эта ошибка может быть вызвана конфликтующими банками struts2 в WEB-INFКаталог / lib (или они загружаются в двух местах).Хотя я думал, что это не может быть проблемой, так как эти банки находятся в разных WAR.

Ответы [ 2 ]

2 голосов
/ 07 сентября 2011

Самым простым способом может быть изменение политики загрузчика классов: из консоли applications->enterprise applications->your app->WAR class loader policy->Class loader for each WAR file in application. Но постарайтесь убедиться, что в директории WEB-INF / lib ушей есть только один набор данных jar. Вы также можете использовать общие библиотеки. Но если проблема вызвана общими библиотеками, вы можете изменить порядок загрузки классов applications->enterprise applications->your app->class loader order->Classes loaded with local class loader first (parent last).

0 голосов
/ 07 сентября 2011

Если вы подозреваете, что это конфликт, включите подробную загрузку классов, чтобы увидеть, что загружается. Убедитесь, что у вас есть несколько загрузчиков классов (по умолчанию).

Просмотр подробной загрузки классов покажет, откуда загружаются необходимые классы во время выполнения WAS.

НТН

Manglu

...