Ответ уже есть, но я бы хотел немного уточнить тему для будущих читателей.
Есть три места , где можно объявить модуль JBoss в качестве зависимостидругих развертываний в JBoss 7 (EAP 6):
- Глобальные модули
- MANIFEST.MF
- jboss-deploy-structure.xml
В большинстве случаев это альтернатива .
1.Глобальные модули
Глобальный модуль - это модуль, который JBoss Enterprise Application Platform 6 предоставляет в качестве зависимости для каждого приложения.Любой модуль можно сделать глобальным, добавив его в список глобальных модулей сервера приложений.
Вы можете легко добавить глобальные модули из консоли управления (см. Источники) или путем редактирования standalone.xml:
<subsystem xmlns="urn:jboss:domain:ee:1.0" >
<global-modules>
<!-- Add global modules here -->
<module name="org.javassist" slot="main" />
</global-modules>
</subsystem>
2.MANIFEST.MF
Добавьте запись Dependencies
в файл MANIFEST.MF со списком разделенных запятыми имен модулей зависимостей.
Dependencies: org.javassist, org.apache.velocity
Если вы используете Maven,вам просто нужно настроить некоторые плагины.например, для уха.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<configuration>
<version>6</version>
...
<defaultLibBundleDir>lib</defaultLibBundleDir>
<archive>
<manifestEntries>
<Dependencies>
com.foo.bar.test-module export optional
<!-- Beware of new lines! They can quietly break the conf -->
</Dependencies>
</manifestEntries>
</archive>
<modules>
...
</modules>
</configuration>
</plugin>
ПРИМЕЧАНИЕ: использование export
делает com.foo.bar.test-module
видимым для всех модулей, входящих в комплект уха.
3.jboss-deploy-structure.xml
jboss-deploy-structure.xml - это специфический JBoss-дескриптор развертывания, который можно использовать для точного управления загрузкой классов.Он должен быть размещен в развертывании верхнего уровня, в META-INF (или WEB-INF для веб-развертываний)
Из документов ниже видно, насколько он мощен по сравнению с MANIFEST.MF.Для простейшего случая вот пример:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<ear-subdeployments-isolated>false</ear-subdeployments-isolated>
<deployment>
<dependencies>
<!-- Add modules here -->
<module name="com.foo.bar.test-module" export="true"/>
<module name="org.apache.axis.axis-jaxrpc" export="true"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
ПРИМЕЧАНИЕ 1. Как и в случае с MANIFEST.MF, установка export=true
делает com.foo.bar.test-module
видимым для всех модулей, входящих в комплект.
ПРИМЕЧАНИЕ 2. Атрибут optional=true/false
также доступен в jboss-deploy-structure.xml, но не работает должным образом для определенных версий (возможно,
Надеюсь, это поможет.
Источники :
Документы RedHat - добавление явной зависимости от модуляв развертывание
Документы RedHat - Настройка модулей
Документы RedHat - Добавление модуля во все развертывания
Руководство разработчика JBoss AS 7