Sir*_*h V 5 deployment ear war weblogic12c jsf-2.2
我在WebLogic Application Server 12.2.1.1上的JSF 2.2上运行了一个Web应用程序.
我有一个简单的java类,并尝试使用CDI将其初始化为ApplicationScoped对象.作为WAR,它可以完美地部署.
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Named;
@Named
@ApplicationScoped
public class AppContext {
public AppContext() {
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我将此WAR添加到EAR时,它无法部署.我正在尝试所有可能的解决方案,此时似乎没有任何工作.异常日志如下:
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
Run Code Online (Sandbox Code Playgroud)
WEB-INF\beans.xml也如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
</beans>
Run Code Online (Sandbox Code Playgroud)
应用程序运行:
NetBeans IDE 8.2;
JDK 1.8 b121;
Mojarra JSF 2.2;
WebLogic 12.2.1.1;
Run Code Online (Sandbox Code Playgroud)
任何有关解决此问题的提示都非常受欢迎.
恕我直言:从上下文初始化的角度来看,这看起来像是一个问题,即,EAR 类加载器将 bean 加载到上下文中,并且 WAR 也将 bean 再次加载到上下文中。请查看这篇博客CDI in EARs,以便更清楚地理解它。一些 J2EE 服务器自行管理此操作。请检查您的应用程序的打包方式以及部署方式。
了解有关类加载检查的其他信息:
| 归档时间: |
|
| 查看次数: |
4293 次 |
| 最近记录: |