Цель недостижима, идентификатор преобразован в ноль

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

Exception Details: javax.el.PropertyNotFoundException
  Target Unreachable, identifier 'loginBean' resolved to null

Я искал ответ, и ничего не помогло мне. Есть ли что-то, чего мне не хватает в Netbeans в конфигурации GlassFish?

О самых популярных проблемах, которые я нашел:

  1. loginBean объявлен в faces-config.xml
  2. Я установил сессионный охват loginBean
  3. У меня нет @ManagedBean() в LoginBean.java, но я использую JSF1.2, а не 2.0
  4. Я где-то нашел, что это может быть из-за обоих myfaces.jar и Sun JSF, но я сначала удалил, и ошибка все еще появлялась.
  5. Я пытался положить 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)

4 ответа

В моем случае причина была совсем другая.

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

private static final long serialVersionUID = 5443351151396868724L;

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

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

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

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

Другие вопросы по тегам