Java EE的Netbeans教程中的NullPointerException

时间:2012-06-07 15:56:56

标签: java-ee glassfish-3 netbeans-7 netbeans-6.9

我尝试按照Netbeans e-commerce tutorial来熟悉Netbeans。我使用Netbeans 7.0,这个教程建议用于Netbeans 6.8-6.9。通常,调整非常简单(显示的元素顺序不同,或者有更多字段)。

教程在第三章中说明:“Make sure that the 'Enable Contexts and Dependency Injection' option is deselected.

对于chapter 7,我会根据第7章中的内容对其进行调整,尤其是在ControllerServlet中添加以下代码:

@EJB
private CategoryFacade categoryFacade;

public void init() throws ServletException {

    // store category list in servlet context
    getServletContext().setAttribute("categories", categoryFacade.findAll()); // line 37
}

当他们说要运行它时我尝试运行它,并且我在第37行收到NullPointerException。第37行是上面写的init方法中的实际代码。这个例外发生在服务器端,所以我想在某些时候,编写教程的人改变了主意并激活了CDI。我试图添加一个虚拟beans.xml来解决问题,但没有成功。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
      http://java.sun.com/xml/ns/javaee 
      http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
</beans>

在此之后,我下载了所提供的代码并从他们的“断点”(文件AffableBean_snapshot3.zip)重新编写了工作,我得到了相同的NullPointerException。我也在本教程的这一部分(AffableBean_snapshot4.zip)之后采用了该项目的版本,并且它仍然在完全相同的点上失败。

那么,我做错了什么?我真的应该使用Netbeans 6.9而不是7.0吗?唯一值得注意的差异是某些xml文件的文件名,在Netbeans 6.9中为sun-*,在Netbeans 7.0中为glassfish-*

0 个答案:

没有答案