我有一个项目,我正在尝试注入我的服务,但我不断注入UserService的空指针异常。我无法弄清楚我错过了什么。
我将项目添加到我的github,https://github.com/JohnnyBekkestad/demo,请注意,为了专注于问题,我删除了大量代码来清理它。
如果有人能看到我所缺少的东西,我将非常感激。
最诚挚的问候 约翰尼
答案 0 :(得分:2)
您的WAR
文件缺少beans.xml
个文件:https://github.com/JohnnyBekkestad/demo/tree/master/web/rest/src/main/webapp/WEB-INF
假设你正试图在这里注入服务,这就是NPE的来源:
答案 1 :(得分:0)
如果使用Tomcat,请查看此tutorial并记住添加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中的beans.xml以及META-INF目录中的所有其他项目。