Почему спецификации JBoss/wildfly не содержат всех предоставленных модулей?

Wildfly 8.x поставляется со спецификациями для простого управления зависимостями: https://github.com/wildfly/boms

Они полезны для описанной здесь загрузки классов на основе модулей: https://docs.jboss.org/author/display/WFLY8/Implicit+module+dependencies+for+deployments

Однако, когда я смотрю в $JBOSS_HOME\modules\system\layers\base, я вижу гораздо больше включенных модулей. Например, включены десятки org.apache модулей, таких как commons-lang и т. д.

Этих зависимостей также нет в родительском POM JBoss: https://github.com/jboss/jboss-parent-pom

Ни спецификации Java EE: https://github.com/jboss/jboss-javaee-specs

Для этих зависимостей (тех, которых нет в спецификациях или в документах), как разработчик должен знать, что они предоставлены? Какова предполагаемая стратегия управления зависимостями для разработчиков, использующих такие инструменты, как Maven и т. д.


person jordanpg    schedule 06.05.2015    source источник


Ответы (1)


Не все модули, используемые сервером, предназначены для развертывания. Существует список неявных зависимостей модулей.

Если вы посмотрите на файл module.xml для некоторых из них, вы, вероятно, увидите свойство <property name="jboss.api" value="private"/>. По сути, это просто означает, что зависимость может измениться в любое время. Его можно обновить до другой версии или даже удалить. Лучше всего просто включить эти зависимости в развертывание.

person James R. Perkins    schedule 07.05.2015
comment
Спасибо. Дополнительная литература: разработчик .jboss.org/people/ozizka/blog/2012/11/12/ - person jordanpg; 08.05.2015