使用CDI和Jersey 2.x在Jetty上部署

时间:2016-11-12 16:19:15

标签: jetty cdi jersey-2.0

我正在尝试将最初使用Grizzly(嵌入式Glassfish)编写的Jersey 2.x项目转换为不使用Grizzly。该应用程序将部署到Jetty服务器(9.3)。

一旦我摆脱了所有Grizzly引用,添加了我的web.xml等...我收到了一堆错误,我所有的@Inject引用都无法正常工作。

原始应用程序使用Weld处理所有CDI内容;我的印象是CDI内置于Jetty,是不是这样?

在我的POM中,我包括了所有的球衣服务器代表。我收到错误的第一个地方是在一个执行Oauth Request Filtering的文件中......它实现了ContainerRequestFilter并且注释为@Priority(Priorities.AUTHENTICATION)。在这个类的内部,我有一些@Inject的一些类来进行查找。

fnc(const std::string&)

当Jetty启动时,它告诉我它无法找到注入此类的OauthManager。

1 个答案:

答案 0 :(得分:0)

CDI没有内置于Jetty。

CDI由Weld项目提供,该项目在Jetty上运行良好。

有关如何设置的详细信息,请参阅先前的答案。

https://stackoverflow.com/a/20505983/775715