Wildfly 上两个部署的共享依赖

Shared Dependency for two Deployments on Wildfly

我有两个 web 应用程序,它们部署在同一个 wildfly 中。两个 webapps 应该共享某些库,这些库不是 wildfly 模块的一部分。

为了使部署不依赖于特定的 wildfly,我宁愿不通过 wildfly-module 系统提供共享库(我是一个ware,可以用户定义模块)。

我的方法是简单地将库与两个 webapp 一起放在部署目录中,并在各自的 jboss-deployment-structures 中引用它们。然而,这已经失败了。

我试图将库嵌入 war 并通过

引用它
<module name="test.war" />

它不会工作,因为找不到该模块。我从 redhat 找到了一份文档,它让我认为这可能有效:Redhat

我还测试了将裸 jar 放在部署目录中并通过 resource-root 引用它:

<resources>
  <resource-root path="my-library.jar" />
</resources>

部署不可见此引导程序,但库中的 类。

所以我的问题是:有没有办法在 wildfly 的部署目录中部署库并从 EAR/WAR 部署中使用它?

这是一个简单的错误,重新阅读手册即可解决。

如果您从 deployments 目录引用部署,则必须指定您这样做。因此,从 a.war 访问 b.war,您必须提供一个 jboss-deployment-structure,它显示为

<dependencies>
    <module name="deployment.b.war" />
</dependencies>

如果这样做,webapp A 可以访问 webapp B 中定义的所有 java 类。