使用Mojarra 2.2和EJB的Glassfish:注入失败(NullPointerException)

时间:2014-09-09 17:22:24

标签: glassfish ejb jsf-2.2 mojarra

我有一个使用Glassfish 3服务器的普通动态Web项目。 我有一个注入无状态bean的托管bean。 使用Mojarra 2.1.6一切正常。

但是当我将javax.faces-2.2.7.jar(Mojarra)添加到我的Web-Inf lib文件夹并尝试访问我的网站时,我得到了一个N​​ullpointerexception用于我的"服务"。

部署和新的mojarra版本已成功接受。

EXCEPTION: java.lang.NullPointerException     在bean.MyBean.init(MyBean.java:18)

示例代码:

Managed-Bean:

@ManagedBean
@ViewScoped
public class MyBean {
@EJB
private MyStatelessBean statelessBean;

private String hello;

@PostConstruct
public void init(){
    setHello(statelessBean.sayHello());
}

public String getHello() {
    return hello;
}

public void setHello(String hello) {
    this.hello = hello;
}
}

Stateless- Bean:

@Stateless
public class MyStatelessBean {

public String sayHello(){
    return "Hello";
}
}

XHTML:

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>

</h:head>

<h:body>
<h:outputText value="#{myBean.hello}" />
</h:body>
</html>

1 个答案:

答案 0 :(得分:0)

解决方案是重置glassfish缓存,一切正常;)