为什么JBoss / wildfly BOM不包含所有提供的模块?

时间:2015-05-06 14:04:51

标签: jboss dependencies pom.xml wildfly wildfly-8

Wildfly 8.x附带BOM,便于依赖关系管理: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等。

这些deps也不在JBoss父POM中:https://github.com/jboss/jboss-parent-pom

Java EE规范:https://github.com/jboss/jboss-javaee-specs

对于这些依赖项(不在BOM或文档中的那些),开发人员应该如何知道它们已被提供?使用Maven等工具的开发人员的目标依赖管理策略是什么

1 个答案:

答案 0 :(得分:4)

并非服务器使用的所有模块都用于部署。有一个implicit module dependencies列表。

如果查看其中某些文件的module.xml文件,您可能会看到属性<property name="jboss.api" value="private"/>。这基本上只意味着依赖关系可以随时改变。它可能会升级到不同的版本甚至删除。最好只在部署中包含这些依赖项。