目标无法访问,标识符解析为空
问题描述:
我试图在外部服务器上运行j2EE项目。项目是在NetBeans(6.7.1)中制作的,当我从那里运行它时,一切都很顺利(我在GlassFish v3服务器上运行它)。但是,当我从剧本的asadmin运行GlassFish,给他我的项目的war文件,它返回例外:目标无法访问,标识符解析为空
Exception Details: javax.el.PropertyNotFoundException
Target Unreachable, identifier 'loginBean' resolved to null
我正在寻找的答案并没有什么帮助了我。有没有我想念Netbeans在GlassFish配置中的地方?
关于最流行的问题,我发现:
- loginBean声明中
faces-config.xml
- 我已经设置会话范围在我
loginBean
- 我没有
@ManagedBean()
在LoginBean.java
,但我用JSF1。 2,而不是2.0 - 我在某处发现它可能是因为
myfaces.jar
和sun的jsf,但是我先删除,错误仍然显示出来。 - 我试图把
javaee.jar
在glassfish/lib
目录(一书中,他们这么写的)
编辑:也许堆栈跟踪将为手柄:
com.sun.el.parser.AstValue.getTarget(AstValue.java:84)
com.sun.el.parser.AstValue.getType(AstValue.java:69)
com.sun.el.ValueExpressionImpl.getType(ValueExpressionImpl.java:194)
com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:92)
javax.faces.component.UIInput.getConvertedValue(UIInput.java:942)
javax.faces.component.UIInput.validate(UIInput.java:868)
javax.faces.component.UIInput.executeValidate(UIInput.java:1072)
javax.faces.component.UIInput.processValidators(UIInput.java:672)
javax.faces.component.UIForm.processValidators(UIForm.java:235)
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1058)
javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:700)
com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:431)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:337)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
DomainModels.Adds.UploadFilter.doFilter(UploadFilter.java:63)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
org.apache.catalina.core.StandardWrapperValve.preInvoke(StandardWrapperValve.java:460)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:139)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:186)
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:187)
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:142)
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:242)
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)
com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:633)
com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:570)
com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:827)
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152)
com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71)
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)
com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67)
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56)
com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325)
com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)
答
请您检查您的WAR文件,看看如果你的类在WEB-INF/classes文件夹下。 我遇到了同样的问题,发现没有类文件的WEB-INF/classes文件夹。
答
在我的情况下,原因是完全不同的。
我复制一个类,包括的serialVersionUID领域:
private static final long serialVersionUID = 5443351151396868724L;
所以我有两个不同的类别,并用相同的serialVersionUID对象,这是问题的线索。
答
有同样的问题。问题是导入错误。而不是javax.enterprise.context.SessionScoped,我有javax.faces.bean.SessionScoped这不起作用,并抛出提到的异常。
答
我清理了我的项目websphere自动重新发布了耳朵。之后,该应用程序正在工作。
关于第5点,您不应该在glassfish/lib文件夹中添加javaee.jar。它已经拥有了javaee所需的所有罐子。 – Hiro2k 2011-01-30 20:07:07