我使用Oracle ADF Essantials开发了一个Web应用程序。我能够在本地系统中的tomcat 6.x上运行此应用程序。我的服务器上有相同的tomcat 6.x环境。一切都是一样的(tomcat环境)。但是当我尝试在服务器环境中运行此应用程序时,它会发出以下错误。
HTTP Status 500 - oracle.adf.controller.ControllerException: ADFC-10001: cannot instantiate class 'com.wip.view.backing.Index'
type Exception report
message oracle.adf.controller.ControllerException: ADFC-10001: cannot instantiate class 'com.wip.view.backing.Index'
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: oracle.adf.controller.ControllerException: ADFC-10001: cannot instantiate class 'com.wip.view.backing.Index'
javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)
oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105)
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:503)
oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:503)
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:327)
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:229)
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
root cause
javax.faces.FacesException: oracle.adf.controller.ControllerException: ADFC-10001: cannot instantiate class 'com.wip.view.backing.Index'
oracle.adfinternal.controller.util.Utils.createAndLogFacesException(Utils.java:198)
oracle.adfinternal.controller.beans.ManagedBeanFactory.newInstance(ManagedBeanFactory.java:189)
oracle.adfinternal.controller.beans.ManagedBeanFactory.instantiateBean(ManagedBeanFactory.java:875)
oracle.adfinternal.controller.state.ScopeMap.get(ScopeMap.java:82)
javax.el.MapELResolver.getValue(MapELResolver.java:51)
com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
org.apache.el.parser.AstValue.getValue(AstValue.java:123)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:182)
com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
以下是根本原因..
root cause
oracle.adf.controller.ControllerException: ADFC-10001: cannot instantiate class 'com.wip.view.backing.Index'
oracle.adfinternal.controller.util.Utils.createAndLogFacesException(Utils.java:190)
oracle.adfinternal.controller.beans.ManagedBeanFactory.newInstance(ManagedBeanFactory.java:189)
oracle.adfinternal.controller.beans.ManagedBeanFactory.instantiateBean(ManagedBeanFactory.java:875)
oracle.adfinternal.controller.state.ScopeMap.get(ScopeMap.java:82)
javax.el.MapELResolver.getValue(MapELResolver.java:51)
com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
org.apache.el.parser.AstValue.getValue(AstValue.java:123)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:182)
com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
com.sun.faces.application.ApplicationImpl.createComponentApplyAnnotations(ApplicationImpl.java:1941)
com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:1144)
com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.createComponent(ComponentTagHandlerDelegateImpl.java:518)
com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:168)
javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
com.sun.faces.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:182)
我尝试了很多修复这个问题。但没有得到任何。最后,我将我的本地tomcat 6.x作为.zip文件并将其粘贴到服务器上并从这个新环境运行我的应用程序,但得到相同的错误。
我发现浏览器中的网址之间存在以下差异
在本地浏览器中 这是我的网址:http://localhost:7777/EasyRUN/faces/index 输入网址后,当我按下输入时获得相同的
http://localhost:7777/EasyRUN/faces/index
在服务器上: 这是我的网址:http://localhost:7777/EasyRUN/faces/index 输入此URL后,按下输入即可获得以下内容
http://localhost:7777/EasyRUN/faces/index;jsessionid=06186FB6D5EE4A1243224059F76C1A84?_afrLoop=105719567151&_afrWindowMode=2&Adf-Window-Id=w0
我还尝试了一个只有一页a.jsf的测试应用程序。这个应用程序的问题相同。它在本地环境中运行,而不是在服务器上运行。
请帮忙。
提前致谢。非常感谢你。请帮忙。
答案 0 :(得分:1)
谢谢你的帮助。我找到了解决方案。问题是我在本地系统上有jdk1.7,在服务器上我有1.6。这就是我遇到这个问题的原因。现在在服务器上我也安装了1.7我的应用程序运行成功。
非常感谢你的帮助。非常感谢你。