[英]Override classloading for a specifc java class file in a wildfly/jboss module
[英]Wildfly module classloading
我遇到了一个关于 Wildfly 类加载的相当奇怪的问题。 我有一个 java-ee webapp,结构如下:
some.ear
+- some.war
+- EJBs.jar
战争和 jar 都需要一些 spring 类到 function 正确。 我定义了一个包含相关类的 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>
有用。
我的理解是,主部署部分的每个模块也应该在所有子部署中可见。
任何人都可以对这个问题有所了解吗?
每个子部署都需要它自己的一组模块依赖项。 如果您要在EAR/lib
目录中包含模块库而不是创建模块,那么您不需要为每个子部署添加模块依赖项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.