【问题标题】:Using Jersey 2.1 with CDI将 Jersey 2.1 与 CDI 一起使用
【发布时间】:2013-08-13 18:33:27
【问题描述】:

我尝试在部署在Glassfish 4.0. 上的Java EE 7 项目中使用Jersey 2.1CDI

Jersey 模块依赖于Guava libraries。但是使用带有 CDI 的 Guava 库 (14.0.1) 会导致引发以下异常。

CDI deployment failure:WELD-001408 Unsatisfied dependencies for type [Set<Service>] with qualifiers [@Default] at injection point [[BackedAnnotatedParameter] Parameter 1 of [BackedAnnotatedConstructor] @Inject com.google.common.util.concurrent.ServiceManager(Set<Service>)].

我该如何解决这个问题?

【问题讨论】:

    标签: jakarta-ee glassfish jersey guava cdi


    【解决方案1】:

    CDI 有一些可疑的行为。我们认为我们有两种解决方法:one that you can do yourselfone that will work automatically when we release Guava 15.0。你可以read more about the problem here

    【讨论】:

      【解决方案2】:

      这里的问题是 Guava 类是注解的,CDI 会尝试将依赖项注入其中。

      glassfish/modules 目录包含一个 guava.jar。因此,只需在 Maven 中将 guava 依赖项设置为提供(或测试)即可解决问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-01-02
        • 2014-01-01
        • 2016-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-01
        相关资源
        最近更新 更多