0

我遇到了一个关于 Wildfly 类加载的相当奇怪的问题。我有一个 java-ee webapp,结构如下:

some.ear
+- some.war
+- EJBs.jar

war 和 jar 都需要一些 spring 类才能正常运行。我定义了一个包含相关类的 spring 模块。在jboss-deployment-structure我有一个部分如下:

<jboss-deployment-structure>
<deployment>
    <dependencies>
        ...
        <module name="org.springframework.spring-web"/>
        ...
    </dependencies>
</deployment>

启动我的 web 应用ClassNotFoundException程序后,我在部署战争档案时得到一个。如果我添加一个额外的部分

<sub-deployment name="some.war">
    <dependencies>
        ...
        <module name="org.springframework.spring-web"/>
        ...
    </dependencies>
</sub-deployment>

有用。

我的理解是,主部署部分的每个模块也应该在所有子部署中可见。

任何人都可以对这个问题有所了解吗?

4

1 回答 1

1

每个子部署都需要它自己的一组模块依赖项。如果您要在EAR/lib目录中包含模块库而不是创建模块,那么您不需要为每个子部署添加模块依赖项。

于 2020-08-17T16:56:04.993 回答