2016-11-12 33 views
0

我想轉換澤西2.x項目最初使用灰熊(嵌入Glassfish)寫入不使用灰熊。該應用程序將部署到Jetty服務器(9.3)。使用CDI與澤西2.x部署在碼頭

只要我擺脫了所有的灰熊引用,添加了我的web.xml等等,我得到了一堆錯誤,我所有@Inject的引用都不起作用。

最初的應用程序使用焊接來處理所有的CDI的東西;我是在CDI內置到碼頭的印象之下的,是不是這樣?

在我的POM中,我包括所有的球衣服務器代碼。我得到一個錯誤的第一個地方是一個Oauth請求過濾的文件...它實現了ContainerRequestFilter並且有一個@Priority(Priorities.AUTHENTICATION)的註釋。在這個課堂裏面,我有一個@Inject的一些類來做lookup。

@Inject 
private OauthManager manager 

當Jetty啓動時,它告訴我它無法找到OauthManager注入此類。

回答

0

CDI沒有內置到Jetty中。

CDI由虛焊項目,該項目的工作只是正常碼頭提供。

查看關於如何設置此之前詳細回答。

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

+0

所以,是的......我能得到應用部署......它似乎然而上班,每當我嘗試訪問任何東西......它告訴我有不止一個@ RequestScope上下文環繞......這讓我感到很尷尬。 –