2011-01-30 1 views
3

Я пытаюсь запустить проект 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 и suns 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) 
+0

О пункте 5. вам не следует добавлять javaee.jar в папку glassfish/lib. У него уже есть все банки, которые вам нужны для javaee. – Hiro2k

ответ

0

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

1

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

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

private static final long serialVersionUID = 5443351151396868724L; 

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

0

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

0

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