在 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的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Java 代码使用 jboss-cli 命令将 EAR 文件部署到 wildfly-17.0.1 服务器