Как заставить jboss загружать классы из jar-файлов в lib веб-приложения - PullRequest
4 голосов
/ 09 февраля 2011

Я пытаюсь развернуть мое веб-приложение на jboss-6.0.0Final, которое в настоящее время развернуто на apache tomcat. У меня есть две банки, одна из которых содержит одну и ту же упаковку org.apache.axis. Я кладу одну банку в <Jboss-home>/server/default/lib и другую банку в <my-app-war>WEB-INF/lib.

Требуется поместить обе банки в путь классов. Нет способа снять одну банку. Поэтому мне нужно сохранить обе банки. & Это дает мне следующую ошибку

java.lang.ClassCastException: org.apache.axis.attachments.AttachmentsImpl cannot be cast to org.apache.axis.attachments.Attachments
    at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
    at org.apache.axis.client.Call.invoke(Call.java:1828)

Я думаю, это связано с конфликтом одних и тех же классов в двух разных банках.

Теперь я хочу узнать, каким образом я могу заставить jboss загружать классы этого конкретного пакета из axis.jar, существующего в /WEB-INF/lib.

.

Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 28 марта 2017

Я поделюсь довольно простым и понятным процессом, которому я следовал, когда натолкнулся на ту же ситуацию.

1> Создайте файл jboss-web.xml .

  <class-loading java2classloadingcompliance="false">
  <loader-repository>
      com.rts:archive=DTH_PROD.war
      <loader-repository-config>
          java2ParentDelegation=false
      </loader-repository-config>
  </loader-repository>
  </class-loading>
</jboss-web>

Очки:

  • Начните xml с тега, который не виден в коде, который я публикую Проверьте 3-ю строку вышеуказанного кода,
  • com.rts - Это имя вашего пакета.
  • DTH_PROD.war - Имя пакета, который вы хотите сохранить

2> Теперь поместите этот xml-файл в каталог WEB-INF вашего проекта и вуаля !!

Более того, вы можете обратиться к этой статье за подробной информацией. Также прокомментируйте ниже, если вы столкнетесь с какими-либо трудностями при решении этой проблемы.

0 голосов
/ 19 апреля 2013


Это помогло мне:
http://www.mastertheboss.com/jboss-configuration/solving-jboss-5-classloading-issues

взорви свою войну,

Добавьте в ваш xml-файл каталог разбитой WAR следующий файл: jboss-classloading.xml
с содержанием:
(домен - ваше военное имя)

 <classloading xmlns="urn:jboss:classloading:1.0"
            name="mywar.war"
            domain="mywar_domain"  <!-- (domain is your war name) -->
            parent-domain="Ignored"
            export-all="NON_EMPTY"
            import-all="true">
</classloading>
...