Задача Недостижимая, идентификатор разрешен к нулю

Я пытаюсь запустить проект j2EE на внешнем сервере. Проект был выполнен в NetBeans (6.7.1), и когда я запускаю его оттуда, все идет хорошо (я запускаю его на сервере GlassFish v3). Но когда я запускаю GlassFish из asadmin script и даю ему свой файл войны проекта, он возвращает исключение:

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 (в одной книге, которую они написали)

EDITED: возможно, трассировка стека будет обрабатываться:

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)

Ответы

Ответ 1

В моем случае причина была совершенно иной.

Я скопировал класс, включая поле serialVersionUID:

private static final long serialVersionUID = 5443351151396868724L;

поэтому у меня было два разных класса и объекта с одним и тем же serialVersionUID, и это было ключом к проблеме.

Ответ 2

Пожалуйста, проверьте свой военный файл и посмотрите, находятся ли ваши классы в папке WEB-INF/classes. Я столкнулся с той же проблемой и обнаружил, что нет файлов классов WEB-INF/classes.

Ответ 3

Была та же проблема. Проблема была неправильным импортом. Вместо javax.enterprise.context.SessionScoped у меня был javax.faces.bean.SessionScoped, который не работал и выбрасывал упомянутое исключение.

Ответ 4

Я очистил весь свой проект, и веб-страница автоматически переименовала ухо. После этого приложение работало.