0
WebLogic Application Server에서 JSF 2.2에서 실행되는 웹 응용 프로그램이 있습니다.CDI 빈 이름 초기화가 모호합니다.
나는 간단한 자바 클래스를 가지고 있으며이를 CDI를 사용하여 ApplicationScoped 객체로 초기화하려고한다. 아래의 코드는 잘 작동하고 배포됩니다. 내가 @Named 주석 객체를 초기화 할 때
import javax.enterprise.context.ApplicationScoped;
@ApplicationScoped
public class AppContext {
public AppContext() {
}
}
는 그러나 그렇게도
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Named;
@Named
@ApplicationScoped
public class AppContext {
public AppContext() {
}
}
예외 로그는 다음과 같습니다 무엇을 배포하는 데 실패
weblogic.management.DeploymentException: CDI deployment failure:WELD-001414: Bean name is ambiguous. Name appContext resolves to beans: [Managed Bean [class beans.AppContext] with qualifiers [@Default @Any @Named], Managed Bean [class beans.AppContext] with qualifiers [@Default @Any @Named]]:org.jboss.weld.exceptions.DeploymentException:WELD-001414: Bean name is ambiguous. Name appContext resolves to beans: [Managed Bean [class beans.AppContext] with qualifiers [@Default @Any @Named], Managed Bean [class beans.AppContext] with qualifiers [@Default @Any @Named]]
at org.jboss.weld.bootstrap.Validator.validateBeanNames(Validator.java:641)
at org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:487)
at org.jboss.weld.bootstrap.WeldStartup.validateBeans(WeldStartup.java:446)
at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:90)
at com.oracle.injection.provider.weld.WeldInjectionContainer.start(WeldInjectionContainer.java:150)
Truncated. see log file for complete stacktrace
또한 WEB-INF \ beans.xml은 다음과 같습니다.
실행 0응용 프로그램 :이 문제를 해결에 대한 어떤 힌트 매우 감사
JDK 1.8 b121;
Mojarra JSF 2.2;
WebLogic 12.2.1.1;
.
링크를 찾으면 도움이 될 수 있습니다. http://stackoverflow.com/questions/10994158/difference-between-named-and-managedbean-annotations-in-jsf2-0-tomcat7 –
첫 번째 모습부터 - 예외는 다음과 같이 말합니다. 동일한 이름을 가진 두 개의 빈 ("appContext")이있다. 빈에 사용자 정의 이름을 지정해보십시오. 예 : '@Named ("myAppContextBean") 그리고 무슨 일이 일어나는 지보십시오. – Siliarus
Thanks @Siliarus! 나는 당신의 제안을 시도했지만 여전히 같은 오류 메시지가 나타납니다. 실제 오류 메시지가 표시되는 것보다 분명히 다른 작업이 있습니다. –