WELD-001456:参数 bean 不能为空

问题描述

我有一个包含两个 WAR 的 EAR 文件。在 WAR1 中有一个 JSF 应用程序(在 JSF2.2 和 ManagedBeans 中一切正常)。使用 CDI bean 迁移到 JSF2.3 后,我在尝试访问 Web 应用程序时遇到以下异常:

WELD-001456:参数 bean 不能为空 (完整的堆栈跟踪如下)

这里是我的 EAR 结构

EAR   
  |- WAR1
      |-WEB-INF\beans.xml
      |-WEB-INF\lib\myfaces-api-2.3.7.jar
      |-WEB-INF\lib\myfaces-impl-2.3.7.jar   
  |- WAR2
      |-WEB-INF\beans.xml

如果我只使用 WAR1 部署 EAR,它就可以工作。我用谷歌搜索但找不到答案。 我正在使用 Wildfly 19.1.0。在升级到 myfaces2.3.7 之后(没有迁移到 CDI)也发生了同样的异常。

Caused by: org.jboss.weld.exceptions.IllegalArgumentException: WELD-001456: Argument bean must not be null
at org.jboss.weld.core@3.1.3.Final//org.jboss.weld.util.Preconditions.checkArgumentNotNull(Preconditions.java:40)
at org.jboss.weld.core@3.1.3.Final//org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:708)
at org.jboss.weld.core@3.1.3.Final//org.jboss.weld.util.ForwardingBeanManager.getReference(ForwardingBeanManager.java:64)
at org.jboss.weld.core@3.1.3.Final//org.jboss.weld.bean.builtin.BeanManagerProxy.getReference(BeanManagerProxy.java:87)
at deployment.myapp.ear.web.war//org.apache.myfaces.cdi.util.CDIUtils.resolveInstance(CDIUtils.java:65)
at deployment.myapp.ear.web.war//org.apache.myfaces.cdi.util.CDIUtils.lookup(CDIUtils.java:52)
at deployment.myapp.ear.web.war//org.apache.myfaces.el.unified.ResolverBuilderBase.isReplaceImplicitObjectResolverWithCDIResolver(ResolverBuilderBase.java:232)
at deployment.myapp.ear.web.war//org.apache.myfaces.el.unified.ResolverBuilderForFaces.build(ResolverBuilderForFaces.java:108)
at deployment.myapp.ear.web.war//org.apache.myfaces.application.ApplicationImpl.createFacesResolver(ApplicationImpl.java:408)
at deployment.myapp.ear.web.war//org.apache.myfaces.application.ApplicationImpl.getELResolver(ApplicationImpl.java:389)
at deployment.myapp.ear.web.war//org.apache.myfaces.context.servlet.FacesContextImplBase.getELContext(FacesContextImplBase.java:230)
at deployment.myapp.ear.web.war//javax.faces.context.FacesContextwrapper.getELContext(FacesContextwrapper.java:85)
at deployment.myapp.ear.web.war//org.apache.myfaces.application.ApplicationImpl._handleResourceDependency(ApplicationImpl.java:2551)
at deployment.myapp.ear.web.war//org.apache.myfaces.application.ApplicationImpl._handleResourceDependencyAnnotations(ApplicationImpl.java:2515)
at deployment.myapp.ear.web.war//org.apache.myfaces.application.ApplicationImpl._handleAnnotations(ApplicationImpl.java:2285)
at deployment.myapp.ear.web.war//org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:1537)
at deployment.myapp.ear.web.war//org.apache.myfaces.view.facelets.compiler.FaceletsCompilerSupport.loadLibraries(FaceletsCompilerSupport.java:141)
at deployment.myapp.ear.web.war//org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.loadLibraries(FaceletViewDeclarationLanguage.java:2549)
at deployment.myapp.ear.web.war//org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.createCompiler(FaceletViewDeclarationLanguage.java:2188)
at deployment.myapp.ear.web.war//org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.initialize(FaceletViewDeclarationLanguage.java:2487)
at deployment.myapp.ear.web.war//org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.<init>(FaceletViewDeclarationLanguage.java:308)
at deployment.myapp.ear.web.war//org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguageStrategy.<init>(FaceletViewDeclarationLanguageStrategy.java:52)
at deployment.myapp.ear.web.war//org.apache.myfaces.view.ViewDeclarationLanguageFactoryImpl.initialize(ViewDeclarationLanguageFactoryImpl.java:129)
at deployment.myapp.ear.web.war//org.apache.myfaces.view.ViewDeclarationLanguageFactoryImpl.getViewDeclarationLanguage(ViewDeclarationLanguageFactoryImpl.java:78)
at deployment.myapp.ear.web.war//org.apache.myfaces.application.ViewHandlerImpl.getViewDeclarationLanguage(ViewHandlerImpl.java:185)
at deployment.myapp.ear.web.war//javax.faces.application.ViewHandlerWrapper.getViewDeclarationLanguage(ViewHandlerWrapper.java:148)
at deployment.myapp.ear.web.war//org.apache.myfaces.shared.application.defaultviewHandlerSupport.checkResourceExists(defaultviewHandlerSupport.java:591)
at deployment.myapp.ear.web.war//org.apache.myfaces.shared.application.defaultviewHandlerSupport.handleSuffixMapping(defaultviewHandlerSupport.java:521)
at deployment.myapp.ear.web.war//org.apache.myfaces.shared.application.defaultviewHandlerSupport.calculateViewId(defaultviewHandlerSupport.java:86)
at deployment.myapp.ear.web.war//org.apache.myfaces.application.ViewHandlerImpl.deriveLogicalViewId(ViewHandlerImpl.java:124)
at deployment.myapp.ear.web.war//javax.faces.application.ViewHandlerWrapper.deriveLogicalViewId(ViewHandlerWrapper.java:127)
at deployment.myapp.ear.web.war//org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:222)
at deployment.myapp.ear.web.war//org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:195)
at deployment.myapp.ear.web.war//org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:142)
at deployment.myapp.ear.web.war//javax.faces.webapp.FacesServlet.service(FacesServlet.java:204)
... 72 more

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...