Когда и зачем мне нужно приложение jboss-deployment-structure.xml для приложения Spring?

Я пытаюсь понять, как использовать JBoss EAP6 с приложениями Spring. У меня есть пример приложения OpenShift и он содержит файл jboss-deployment-structure.xml.

Я нашел документацию об этом файле, но я не понимаю, почему и когда нужно использовать эти файлы с приложениями Spring. Содержимое:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
   <deployment>
       <dependencies>
            <module name="com.h2database.h2"/>
            <module name="org.codehaus.jackson.jackson-core-asl"/>
            <module name="org.codehaus.jackson.jackson-mapper-asl"/>
            <module name="org.slf4j"/>
       </dependencies>
   </deployment>
</jboss-deployment-structure>

Почему нужно декларировать зависимости от модулей? А какие модули в парадигме JBoss? Можно ли жить без этого xml файла?

Ответ 1

Пока у вас нет проблем с загрузкой в ​​вашем приложении, вам не нужен файл jboss-deployment-structure.xml. Но как только у вас возникнут проблемы такого типа, управление зависимостями в jboss-deployment-structure.xml будет вашим другом.

В этой статье объясняется очень хорошее, что modules.

Я думаю, что коротко вы можете сказать, что все, что развертывается как WAR, JAR или EAR, является модулем. Эти модули называются динамическими модулями. Рядом с ними есть статические модули в $JBOSS_HOME/modules. Единственное различие заключается в том, как они упакованы.

Ответ 2

Это то, что я нашел в Интернете:

"Чтобы избежать использования API-интерфейсов ведения журнала JBoss, нам нужно поместить следующий файл" jboss-deployment-structure.xml "внутри" /home/userone/ApplicationLevelLog 4jDemo/src ", чтобы мы могли исключить jboss logging API для нашего приложения, и наше приложение может использовать собственную версию API протоколирования."

Источник: http://middlewaremagic.com/