Для небольших зависимостей, которые являются частными для развертывания, оставьте их в WEB-INF/lib
в вашем .war
, вот для чего оно. Если вы используете Maven, это должно быть в значительной степени автоматически и прозрачно для всего, что находится в области действия .
Для больших, сложных зависимостей или зависимостей, которые будут совместно использоваться несколькими приложениями, используйте параметр (4):
Разверните каждую логическую библиотеку (например, «OpenJPA» или «Log4J») в виде модуля, включая ее jar-файлы api и impl и любые JAR-зависимости, которые еще не предоставлены другими модулями AS7. Если модуль уже существует, добавьте в него зависимость, а не JAR-файл. Если несколько разных библиотек имеют общие зависимости, разделите их на модули и добавьте их как зависимости модуля в module.xml
.
Используйте jboss-deploy-structure.xml , чтобы ваше развертывание .war
/ .ear
/ независимо от того, объявляло ли оно зависимость от модуля, если он не обнаружен и не загружен автоматически.
Я считаю, что это подход от средних до низких, который хорошо работает. Это более хлопотно, чем помещать все в WEB-INF/lib
внутри развертывания, что является стандартным делом Java EE. Это ускоряет повторное развертывание и экономит много времени на развертывание / тестирование, уменьшая конфликты между классами и версиями.
Вы можете использовать Maven и плагин maven-dependency-plugin для создания модулей с уже включенными переходными зависимостями, если вы хотите немного поработать. Вы можете увидеть один пример этого в модуле , который я написал для интеграции EclipseLink в AS 7 . Я автоматизирую создание модулей AS7 всякий раз, когда это возможно.