在 Wildfly 9 上部署 EAR 具有原始 WAR 和复制 WAR

Posted

技术标签:

【中文标题】在 Wildfly 9 上部署 EAR 具有原始 WAR 和复制 WAR【英文标题】:Deploy EAR has origin WAR and copied WAR on wildfly 9 【发布时间】:2015-07-25 14:58:06 【问题描述】:

我必须部署一个包含两个 WAR 的 EAR,一个 WAR 是另一个 WAR 的副本。

BUILD.ear A.war(上下文路径:/A) B.war(上下文路径:/B)

我在本地机器上使用eclipse调试模式测试过,但发现了一些可以理解的情况。

步骤 1. 请求localhost:8080/A/someURL

步骤 2. 在 A.war 中捕获控制器的断点

步骤 3. 在 B.war 中捕获服务断点

尽管我请求了上下文路径 /a,为什么调试器在不是 A.war 而是 B.war 中捕获断点? Spring 容器是否忽略了重复扫描的类?

【问题讨论】:

这个网站有一个标签系统。添加标签也没有意义。 “B.war 中的断点”是什么意思?断点在源代码行上,可能只是 eclipse 无法从 jvm 接收到的数据中附加正确的源代码 对不起。 “caught breakpoint of service in B.war”表示请求的控制器在 A.war 中,但程序流向 B.war 中的业务逻辑。尽管 A.war 和 B.war 之间没有依赖关系。 B.war 只是 A.war 的副本 【参考方案1】:

AFIK 来自一个 EAR 的所有 WAR 将使用相同的类加载器加载。如果 A.WAR 和 B.WAR 都包含相同的类……您可能并不真正希望这种情况发生并且需要重新组织您的 WAR。

【讨论】:

以上是关于在 Wildfly 9 上部署 EAR 具有原始 WAR 和复制 WAR的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Wildfly 中设置两只耳朵的部署顺序

如何使用 Java 代码使用 jboss-cli 命令将 EAR 文件部署到 wildfly-17.0.1 服务器

如何从 Wildfly 10 Web 控制台下载 EAR 文件

Wildfly 10.1 部署后停止部署

Wildfly:应用程序已部署但未运行

如何在 WildFly 中配置 EJB WebServices(入耳式)