我们的大多数 Maven 依赖项都是
<scope>provided</scope>
,因为它们是由 Wildfly 提供的。我们使用 Wildfly-BOM 来检查 Wildfly 提供/提供了哪些依赖项:
<!-- https://mvnrepository.com/artifact/org.wildfly.bom/wildfly-ee -->
<dependency>
<groupId>org.wildfly.bom</groupId>
<artifactId>wildfly-ee</artifactId>
<version>31.0.0.Final</version>
<scope>import</scope>
<type>pom</type>
</dependency>
但是,在部署时遇到问题,找不到任何
org/apache/http
类后,我们发现 org.apache.httpcomponents
默认情况下未加载,需要手动添加到 standalone.xml
中:
<subsystem xmlns="urn:jboss:domain:ee:6.0">
<global-modules>
<module name="org.apache.httpcomponents"/>
</global-modules>
...
</subsystem>
为什么即使在 Wildfly-BOM 中列出了
org.apache.httpcomponents
,默认情况下也不会加载它?
Wildfly-BOM 中列出的其他依赖项是否也需要手动添加到
standalone.xml
?
我尝试搜索列表和/或为什么需要手动添加某些依赖项的原因,但没有找到 Wildfly/Red Hat 资源,文档中的何处对此进行了解释?
BOM 用于 Maven,以帮助管理项目的依赖项。它与服务器配置和 JBoss 模块无关。
添加 有几种方法可以将模块依赖项添加到您的部署中。查看 类加载文档。
您所包含的
standalone.xml
片段对我来说看起来不正确。您不能在那里使用 module
元素。它需要用 <global-modules>
标签包裹。