我正在使用部署在 JBoss 7.1.1 上的 DeltaSpike 1.7.1 和 CDI 1.0 (Weld 1.1.5)。这是一个遗留项目,我无法更改我们正在使用的技术。
仅当我部署多个 WAR 文件时才会出现问题(我知道 CDI 在 EAR 中存在/遇到多个 WAR 文件的问题,但我没有在 EAR 文件之外的 JBOSS 实例中找到有关多个 WAR 文件的任何信息。
请注意,问题不会在每次部署项目时都会发生,通常,当我要求 Jenkins 一次构建和部署多个项目时,我会收到以下错误消息:
WELD-001318 Cannot resolve an ambiguous dependency between [Managed Bean [class org.apache.deltaspike.core.impl.scope.window.DefaultWindowContextQuotaHandler] with qualifiers [@Any @Default], Managed Bean [class org.apache.deltaspike.jsf.impl.scope.window.JsfWindowContextQuotaHandler] with qualifiers [@Any @Default]]
我试图摆脱 DeltaSpike,但这些项目严重依赖 @ViewAccessScoped 注释,并且会浪费大量时间来更改它。