我正在尝试将最初使用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。
答案 0 :(得分:0)
CDI没有内置于Jetty。
CDI由Weld项目提供,该项目在Jetty上运行良好。
有关如何设置的详细信息,请参阅先前的答案。