【发布时间】:2021-10-02 14:04:23
【问题描述】:
我有两个 webapps,它们部署在同一个 wildfly 中。两个 webapp 应该共享某些库,这些库不属于 wildfly 模块。
为了使部署不依赖于特定的 wildfly,我不希望通过 wildfly-module 系统提供共享库(我知道,可以用户定义模块)。
我的方法是简单地将库与两个 webapps 一起放在部署目录中,并在各自的 jboss-deployment-structures 中引用它们。然而,这失败了。
我试图将库嵌入到战争中并通过
<module name="test.war" />
它不起作用,因为找不到模块。我从 redhat 找到了一份文档,让我认为这可能有效:Redhat
我还测试了将裸 jar 放在部署目录中并通过资源根引用它:
<resources>
<resource-root path="my-library.jar" />
</resources>
此引导程序,但库中的类对部署不可见。
所以我的问题是:有没有办法在 wildfly 的部署目录中部署一个库并从 EAR/WAR 部署中使用它?
【问题讨论】:
-
我不确定您为什么要避免使用模块。您可以使用
jboss-cli或其他工具轻松编写这些安装脚本。话虽如此,您是否希望您的部署具有不同版本的公共库?它是否太大以至于占用了太多的磁盘和/或内存?如果它不是太重,您可能会尝试优化,但收效甚微。 -
我们考虑在 jboss-cli 可能不可用的环境中部署应用程序。目前,我们将两个应用程序集中到同一个耳朵中,这会导致构建时间非常短(仅用于打包耳朵)
标签: java deployment wildfly