2013-08-06 170 views
0

我有一個項目,我想注入我的服務,但我不斷收到空指針異常注入UserService。而我無法弄清楚我錯過了什麼。爲什麼我不能注射工作?

我將項目添加到我的github,https://github.com/JohnnyBekkestad/demo,請注意,爲了專注於問題,我刪除了很多代碼來清理它。

如果有人能看到我在想什麼,我會非常感激。

問候 約翰尼

+1

如果您沒有發佈源代碼並指出發生錯誤的類/行,則沒有機會獲得答案。 – TheEwook

+0

是的,至少請發佈您的堆棧跟蹤。 –

+0

UserController.java中的Line27中的空指針異常 –

回答

2
+0

這是正確的我正在嘗試在UserController.java中注入,但是當我添加beans.xml時它不起作用 –

+0

由於您正在執行multimodule項目除了WAR的WEB-INF中的beans.xml以外,還需要META-INF/beans.xml。 – LightGuard

+0

@BeauJohnnyBekkestad請發佈您的堆棧跟蹤。 LightGuard絕對不是必需的,但可能取決於您的應用服務器。 –

0

請檢查此tutorial如果使用Tomcat並記得將beans.xml添加到ch ange web.xml幷包含/排除不必要的依賴關係(weld)。此外,還有沒有這樣的註釋對

@Path 
@ManagedBean 

記住:JAX-RS(或你的情況澤西)告訴你,當它發現任何實施,這意味着@Path是不夠的:

INFO: Root resource classes found: 
    class com.bekkestad.demo.web.rest.UserController 

而且作爲初學者:Tomcat不是Java EE容器。如果使用GlassFish 4,先熟悉Java EE(@EJB> @Stateless),然後添加CDI功能 - 但不必添加任何依賴項,因爲焊接已經可用(= no context.xml或web.xml中的更改只需要WEB-INF中的beans.xml以及所有其他項目的META-INF目錄)。