2013-05-21 53 views
0

有一個問題,因爲處理6小時,但沒有得到解決它。引起︰javax.naming.NameNotFoundException - 名稱[類/對象]沒有綁定在此上下文中

上午深化發展使用JSF/Tomcat的7/Maven的/ Java 7的

每次我跑我得到這個服務器上的項目動態Web項目:

javax.naming.NameNotFoundException: Name [....ProjectManagement/service] is not bound in this Context. Unable to find [de.hhn.team3.artzpraxismanagement.ProjectManagement]. 
at org.apache.naming.NamingContext.lookup(NamingContext.java:820) 
at org.apache.naming.NamingContext.lookup(NamingContext.java:168) 
at org.apache.catalina.core.DefaultInstanceManager.lookupFieldResource(DefaultInstanceManager.java:580) 
at org.apache.catalina.core.DefaultInstanceManager.processAnnotations(DefaultInstanceManager.java:470) 
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:157) 
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150) 
at org.apache.myfaces.config.annotation.Tomcat7AnnotationLifecycleProvider.postConstruct(Tomcat7AnnotationLifecycleProvider.java:90) 
at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:213) 
at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.createManagedBean(ManagedBeanResolver.java:333) 
at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.getValue(ManagedBeanResolver.java:296) 
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67) 
at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:169) 
at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:65) 
at org.apache.myfaces.el.convert.VariableResolverToELResolver.getValue(VariableResolverToELResolver.java:123) 
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67) 
at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:169) 
at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:72) 
at org.apache.el.parser.AstValue.getValue(AstValue.java:161) 
at org.apache.el.parser.AstEqual.getValue(AstEqual.java:38) 
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185) 
at org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpression.getValue(ContextAwareTagValueExpression.java:96) 
at javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:263) 
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:1089) 
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:733) 
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:758) 
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:758) 
at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1900) 
at org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:285) 
at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:115) 
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:241) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:199) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 

這裏是我的類項目管理

package ...artzpraxismanagement; 

@Named 
@ManagedBean 
@SessionScoped 
public class ProjectManagement implements Serializable {   
private static final long serialVersionUID = 1L;  
@EJB private Services service; 

和我的服務類

@ManagedBean 
@SessionScoped 
@Local 
public class Services implements Serializable {...} 

我試圖像刪除的WebContent/lib中的Tomcat罐不同的解決方案,但它並不能幫助。我想我的ProjectManagement類不在context.xml中。

我該怎麼做?

回答

5

默認情況下,EJB和CDI在Tomcat中不起作用,因爲Tomcat只是一個Servlet容器。如果你想使用它們,你必須在真正的Java EE應用服務器上部署你的應用程序,例如JBoss 7,GlassFish 3TomEE(注意這些是免費的,還有一些像IBM WebSphere和Oracle WebLogic這樣的Java EE 6應用服務器,但是你必須支付以獲取/使用它們)。如果你繼續在Tomcat中部署,你永遠不會成功。

如果您仍然只想使用Tomcat,那麼請刪除所有@EJB和其他Java EE註釋(例如CDI註釋,如@Named)。

順便說一句,請遵循一個關於JSF或CDI的正確教程。您不能同時裝飾爲@Named@ManagedBean

+1

+1。 Luiggi,猜猜誰是'*理性教程*'這個術語最常用的用戶? :) – skuntsel

+0

@skuntsel我們都知道誰= P –

+0

這是非常真實的:) – skuntsel

相關問題