我在JBoss 7.1.1上部署了DeltaSpike 1.7.1和CDI 1.0(Weld 1.1.5)。这是一个遗留项目,我无法改变我们正在使用的技术。
只有在我部署多个WAR文件时才会出现问题(我知道CDI在EAR中有多个WAR文件存在问题,但我没有在外面的JBOSS实例中找到任何关于多个WAR文件的信息一个EAR文件。
请注意,每次部署项目时都不会发生问题,通常情况下,当我要求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注释,它会浪费大量时间来改变它。
答案 0 :(得分:2)
查看此页面:
https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7
更具体地说,请查看JBOSS 7配置中的此设置:
<subsystem xmlns="urn:jboss:domain:ee:1.0" >
<ear-subdeployments-isolated>false</ear-subdeployments-isolated>
</subsystem>
将此变量设置为true可能会解决您的问题。