Загрузка классов JBoss 6.4

У меня есть.ear, который содержит несколько.war, и я хотел бы развернуть его на сервере jboss 6.4.7. Проблема в том, что один из.war использует модуль jboss (hibernate-jpa-2.0), но приложение требует версию hibernate-jpa-2.1. Как рассказать мою войну, не используя этот модуль jboss. Я добавил структуру jboss-deploying в Ear/application/META-INF с этим исключением:

<jboss-deployment-structure>
<ear-subdeployments-isolated>true</ear-subdeployments-isolated>

<sub-deployment name="myapp.war">
        <exclusions>
            <module name="javax.persistence.api" /> 
        </exclusions>
    </sub-deployment>
</jboss-deployment-structure>

но не работает..

Файл "javax.persistence.api" записан в файле module.xml на сервере jboss.

Спасибо за вашу помощь.

1 ответ

Решение

Добавить следующее

<jboss-deployment-structure>
<ear-subdeployments-isolated>true</ear-subdeployments-isolated>
    <sub-deployment name="myapp.war">
    <exclude-subsystems>
        <subsystem name="jpa" />
    </exclude-subsystems>
    <exclusions>
        <module name="javaee.api" />
    </exclusions>
        </sub-deployment>
    </jboss-deployment-structure>

Подсистема - это набор возможностей, добавляемых расширением. Он определяет, как он будет использоваться и настраиваться. Он также определяется в файле конфигурации EAP (standalone.xml или domain.xml) с использованием тега под профилем. Для каждого расширения, добавленного в экземпляр EAP, возможности и атрибуты этого расширения настраиваются с помощью <subsystem> элемент.

Другим вариантом может быть просто заменить банку в JBOSS на новый

Другие вопросы по тегам