gpt4 book ai didi

java - 如何在 Java Jersey 中使用 CDI 事件?

转载 作者:搜寻专家 更新时间:2023-11-01 03:34:13 25 4
gpt4 key购买 nike

我正在尝试关注此帖子的赞成答案:Best practice for REST token-based authentication with JAX-RS and Jersey

我正在使用 CDI 方法,在我的过滤器中我有定义:

@Inject
@AuthenticatedUser
Event<String> userAuthenticatedEvent;

但是,当我运行 tomcat 7 时,出现以下错误:

org.glassfish.hk2.api.UnsatisfiedDependencyException: There was no object available for injection at SystemInjecteeImpl(requiredType=Event<String>,parent=AuthenticationFilter,qualifiers={@com.wink.rest.security.annotation.AuthenticatedUser()},position=-1,optional=false,self=false,unqualified=null,567185196)
at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:75)
at org.jvnet.hk2.internal.Utilities.justInject(Utilities.java:945)
at org.jvnet.hk2.internal.ServiceLocatorImpl.inject(ServiceLocatorImpl.java:979)
at org.glassfish.jersey.ext.cdi1x.internal.AbstractCdiBeanHk2Factory$2.getInstance(AbstractCdiBeanHk2Factory.java:142)
at org.glassfish.jersey.ext.cdi1x.internal.AbstractCdiBeanHk2Factory._provide(AbstractCdiBeanHk2Factory.java:91)
at org.glassfish.jersey.ext.cdi1x.internal.GenericCdiBeanHk2Factory.provide(GenericCdiBeanHk2Factory.java:63)

我已经尝试了我在 google 和 stackoverflow 上找到的所有方法来尝试解决这个问题,但没有一个解决方案有效。所以现在我不确定还能做什么。有人有什么建议吗?

最佳答案

在努力解决同样的问题后,我找到了解决方案。我从 TomCat 切换到 Glassfish 并更新了 Maven 依赖项以匹配来自 official Jersey 2 documentation 的依赖项.之后它就像变魔术一样奏效。

关于java - 如何在 Java Jersey 中使用 CDI 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36487058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com