0

我有一个项目,我正在尝试注入我的服务,但我不断收到注入 UserService 的空指针异常。而且我无法弄清楚我错过了什么。

我将项目添加到我的 github,https://github.com/JohnnyBekkestad/demo,请注意,为了专注于问题,我删除了很多代码来清理它。

如果有人能看到我所缺少的,我将不胜感激。

最好的问候约翰尼

4

2 回答 2

2

WAR的文件在此处缺少beans.xml文件:https ://github.com/JohnnyBekkestad/demo/tree/master/web/rest/src/main/webapp/WEB-INF

假设您正在尝试在此处注入服务,这就是 NPE 的来源:

https://github.com/JohnnyBekkestad/demo/blob/master/web/rest/src/main/java/se/johnny/demo/web/rest/UserController.java

于 2013-08-06T12:01:21.957 回答
0

如果使用 Tomcat,请查看本教程并记住添加 beans.xml,以更改 web.xml 并包含/排除不必要的依赖项 ( weld )。此外,没有这样的注释对

@Path 
@ManagedBean

请记住:JAX-RS(或在您的情况下为 Jersey)会告诉您,当它找到任何实现时,这意味着 @Path 就足够了:

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

首先:Tomcat 不是 Java EE 容器。如果使用 GlassFish 4,请先熟悉 Java EE(@EJB > @Stateless),然后添加 CDI 功能 - 但是您不必添加任何依赖项,因为焊接已经可用(= 没有 context.xml 或 web.xml 中的更改需要,只是 WEB-INF 和所有其他项目 META-INF 目录中的 beans.xml)。

于 2013-08-08T18:49:08.387 回答