当前位置: 首页 > 知识库问答 >
问题:

WELD-001409类型[EagerBeansRepository]的不明确依赖关系

穆景辉
2023-03-14

我正试图将我的JSF应用程序迁移到CDI。我已经暗示了以下变化:

    null

deploymentException:WELD-001409类型[EagerBeansRepository]在注入点[[BakedAnnotatedField]@inject private org.omnifaces.applicationListener.EagerBeansRepository]具有限定符[@default]的模糊依赖关系。可能的依赖关系[[带有限定符的托管Bean[class org.omnifaces.cdi.eager.eagerBeansRepository][@any@default],带有限定符的托管Bean[class org.omnifaces.cdi.eager.eagerBeansRepository][@any@default]]

我已经降级到OmniFaces1.8.1,部署很成功。为什么OmniFaces2.0会导致这个错误?

开发环境:

    null

共有1个答案

宿文栋
2023-03-14

这个异常表明OmniFaces JAR(特别是包含所提到的不明确类的JAR,在您的特殊情况下是EagerBeansRepository)在运行时类路径中是重复的。如果JAR正确地放置在webapp的/WEB-INF/lib中,而不是其他地方,那么如果在部署之前没有正确地清理GlassFish工作文件夹,就会发生这种情况。尤其是GlassFish Eclipse插件在这方面是失败的。您需要手动清理/GlassFish/domain/[domainname]中的GlassFish工作文件夹。

顺便说一下,当你在做的时候,我强烈建议你也升级到GlassFish 4.1。GlassFish4.0就像每一个GlassFish的第一个发行版一样(所有的麻烦都是让它作为“第一个Java EE X应用服务器”以及每一个新的Java EE API发行版“准备就绪),太多的儿时bug了。

 类似资料:
  • 我正在从WF 7.4.0迁移。最终比分为16.0.0。最终的在解决了不同模块的升级问题后,我遇到了以下问题:一个不明确的依赖项异常。如何保持与两个数据库的连接? SessionFactory hibernate-core-5.3.9现在似乎是从EntityManagerFactory扩展过来的,而它没有扩展到hibernate-core-4.2.14(WF7.4)。SessionFactory在H

  • 我花了整整一个上午的时间想弄明白我的申请有什么问题,但没有成功。

  • 我试图让ESB系统使用ServiceMix和ActiveMQ运行。但甚至在我深入到这一点之前,我就有一个关于POM依赖类型的问题。我得到的maven依赖关系如下: 如能提供任何指导,不胜感激。这个ServiceMix由于缺乏文档而令人沮丧。

  • 我试图修改我们现有的CDI扩展,它创建自己的代理bean。现在只有一个为每个服务创建的代理。服务有类似于应用程序范围的东西,所以服务总是只有一个实例。 我想要完成的是为每个注入点创建一个代理bean。我需要它们来存储特定于给定注射点的一些信息。如果同一个服务有更多的注入点,那么将有更多的代理bean,但它们后面仍然有一个服务实例。但是,当我以这种方式更改行为时,Weld会抱怨不明确的依赖关系,因为

  • 我在尝试部署web应用程序时遇到以下错误: 在注入点[BackedAnnotatedField]处具有限定符@Default\n的AuthzInfo类型的依赖项不明确 可能的依赖项:\n-Producer方法[AuthzInfo],其限定符[@Any@Default]声明为[[BackedAnnotatedMethod]@producers@RequestScoped 我只创造了一个这样的制作人:

  • Dependencies serve many different purposes. Some dependencies are needed to build your project, others are needed when you’re running your program. As such there are a number of different types of dep