myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthias Wessendorf" <mat...@apache.org>
Subject Re: [Trinidad] NoClassDefFound error when using XMLMenuModel in Trinidad 1.2.9 and MyFaces 1.2.3 and Facelets 1.1.14
Date Thu, 04 Sep 2008 03:52:13 GMT
ok, that shouldn't be needed.
do you mind to file bug in jira ?

On Wed, Sep 3, 2008 at 4:02 PM, Richard Yee <richard.k.yee@gmail.com> wrote:
> It seems from the stacktrace that the problem is occurring because of
> line 77 in MenuNode.java
>
>    if (   _label != null
>        && UIComponentTag.isValueReference(_label)
>       )
>
> The UIComponentTag extends  extends javax.faces.webapp.UIComponentClassicTagBase
>
> The UIComponentClassicTagBase implements  JspIdConsumer and that seems
> to be the problem.
>
> -Richard
>
>
> On 9/3/08, Andrew Robinson <andrew.rw.robinson@gmail.com> wrote:
>> I had a quick look at the source of NavigationPaneRenderer, and did
>> not find anything. What is disturbing is that
>> UIComponentClassicTagBase is a JSP tag class. That means that
>> somewhere someone created or is attempting to create an EL expression
>> using JSP code, not facelets code. I am not aware of facelets making
>> use of this class at all.
>>
>> Try debugging to
>> org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:68)
>> and then inspect that EL expression using your IDE. See what
>> properties it has, and any inner fields that may be wrapped. Maybe it
>> will give you a clue.
>>
>> -Andrew
>>
>> On Wed, Sep 3, 2008 at 4:10 PM, Richard Yee <richard.k.yee@gmail.com> wrote:
>> > Andrew,
>> > Thanks for your reply.
>> > I have this in a file called mainHeader.xhtml
>> >
>> >  <tr:panelPageHeader
>> > inlineStyle="background-image:url('/webdoes/components/images/topnav_stripes.gif')">
>> >    <f:facet name="branding"></f:facet>
>> >    <f:facet name="navigationGlobal">
>> >      <tr:navigationPane hint="buttons" var="menuItem"
>> >                         value="#{menuModel_main.model}" level="0"
>> >                         inlineStyle="padding:0em 0em 0.5em">
>> >        <f:facet name="nodeStamp">
>> >          <tr:commandNavigationItem text="#{menuItem.label}"
>> >                                    accessKey="#{menuItem.accessKey}"
>> >                                    action="#{menuItem.getOutcome}"
>> >                                    onclick="#{menuItem.onClick}"
>> >                                    rendered="#{menuItem.type == 'global'}"
>> >                                    immediate="true"/>
>> >        </f:facet>
>> >      </tr:navigationPane>
>> >    </f:facet>
>> >    <f:facet name="navigation1">
>> >      <tr:navigationPane hint="tabs" var="tabItem" value="#{tabMenu}" level="0">
>> >        <f:facet name="nodeStamp">
>> >          <tr:commandNavigationItem text="#{tabItem.label}"
>> >                                    accessKey="#{tabItem.accessKey}"
>> >                                    action="#{tabItem.doAction}"
>> >                                    rendered="#{tabItem.rendered}"/>
>> >        </f:facet>
>> >      </tr:navigationPane>
>> >    </f:facet>
>> >    <f:facet name="navigation2">
>> >      <tr:navigationPane hint="bar" var="buttonItem" value="#{tabMenu}"
>> >                         level="1"
>> >                         inlineStyle="text-align:
>> > left;background-color: #efebde;">
>> >        <f:facet name="nodeStamp">
>> >          <tr:commandNavigationItem text="#{buttonItem.label}"
>> >                                    accessKey="#{buttonItem.accessKey}"
>> >                                    action="#{buttonItem.doAction}"
>> >                                    disabled="#{buttonItem.disabled}"
>> >                                    rendered="#{buttonItem.rendered}"
>> >                                    inlineStyle="background-color: #efebde;"/>
>> >        </f:facet>
>> >      </tr:navigationPane>
>> >    </f:facet>
>> >  </tr:panelPageHeader>
>> >
>> >
>> > This file is being included using <ui:include > inside another .xhtml
>> > file. If I remove the ui:include, the page renders fine.
>> >
>> > It seems that the problem occurs in this code:
>> >      <tr:navigationPane hint="tabs" var="tabItem" value="#{tabMenu}" level="0">
>> >        <f:facet name="nodeStamp">
>> >          <tr:commandNavigationItem text="#{tabItem.label}"
>> >                                    accessKey="#{tabItem.accessKey}"
>> >                                    action="#{tabItem.doAction}"
>> >                                    rendered="#{tabItem.rendered}"/>
>> >        </f:facet>
>> >
>> > The tabMenu is defined in faces-config.xml as:
>> >  <managed-bean>
>> >    <managed-bean-name>tabMenu</managed-bean-name>
>> >    <managed-bean-class>org.apache.myfaces.trinidad.model.XMLMenuModel</managed-bean-class>
>> >    <managed-bean-scope>request</managed-bean-scope>
>> >    <managed-property>
>> >      <property-name>source</property-name>
>> >      <value>/WEB-INF/menus/tabMenus.xml</value>
>> >    </managed-property>
>> >  </managed-bean>
>> >
>> > The tabMenus.xml file contains a menu tag with some itemNode tags as children.
>> >
>> > <menu xmlns="http://myfaces.apache.org/trinidad/menu">
>> >  <itemNode id="tab1" label="Enrollment" action="viewFamilyFromEnrollment"
>> >    focusViewId="/app/view/viewFamilyFromEnrollment.xhtml" rendered="true">
>> >
>> >
>> >
>> > Richard
>> >
>> >
>> > On 9/3/08, Andrew Robinson <andrew.rw.robinson@gmail.com> wrote:
>> >> Don't know the problem. but it seems something is wrong in your
>> >> environment. The error is that you have an EL expression trying to
>> >> resolve a JSP tag attribute inside of a facelets tag value. Are you
>> >> somehow running both JSP and facelets at the same time?
>> >>
>> >> On Wed, Sep 3, 2008 at 3:09 PM, Richard Yee <richard.k.yee@gmail.com>
wrote:
>> >> > Hi,
>> >> > I'm converting my MyFaces 1.0.5 and Trinidad 1.0.5 application to use
>> >> > MyFaces 1.2.3, Trinidad 1.2.9, and Facelets 1.1.14
>> >> >
>> >> > I'm getting a NoClassDefFound error when my application  goes to a
>> >> > page that has an XMLMenuModel.
>> >> > The error displayed by Facelets is:
>> >> > oracle.classloader.util.AnnotatedNoClassDefFoundError: Missing class:
>> >> > javax.servlet.jsp.tagext.JspIdConsumer Dependent class:
>> >> > javax.faces.webapp.UIComponentClassicTagBase Loader:
>> >> > current-workspace-app.web.webdoes:0.0.0 Code-Source:
>> >> > /D:/public/CommonLib/app/lib/3rdParty/Apache/myfaces/1.2.3/myfaces-api-1.2.3.jar
>> >> > Configuration: <classpath> in
>> >> > D:\UserData\sandbox\sprint3_webdoes_10133\webdoes\java\src\web The
>> >> > missing class is not available from any code-source or loader in the
>> >> > system.
>> >> >
>> >> > The stack trace is:
>> >> > javax.el.ELException: /header/mainHeader.xhtml @38,69
>> >> > rendered="#{tabItem.rendered}":
>> >> > oracle.classloader.util.AnnotatedNoClassDefFoundError:
>> >> >
>> >> >          Missing class: javax.servlet.jsp.tagext.JspIdConsumer
>> >> >
>> >> >        Dependent class: javax.faces.webapp.UIComponentClassicTagBase
>> >> >                 Loader: current-workspace-app.web.webdoes:0.0.0
>> >> >            Code-Source:
>> >> > /D:/public/CommonLib/app/lib/3rdParty/Apache/myfaces/1.2.3/myfaces-api-1.2.3.jar
>> >> >          Configuration: <classpath> in
>> >> > D:\UserData\sandbox\sprint3_webdoes_10133\webdoes\java\src\web
>> >> >
>> >> > The missing class is not available from any code-source or loader in
the system.
>> >> >        at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
>> >> >        at org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:68)
>> >> >        at org.apache.myfaces.trinidad.component.UIXComponentBase.getBooleanProperty(UIXComponentBase.java:1174)
>> >> >        at org.apache.myfaces.trinidad.component.UIXComponentBase.isRendered(UIXComponentBase.java:414)
>> >> >        at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRenderer.renderContent(NavigationPaneRenderer.java:185)
>> >> >        at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRenderer.encodeAll(NavigationPaneRenderer.java:97)
>> >> >        at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:224)
>> >> >        at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:763)
>> >> >        at org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:533)
>> >> >        at org.apache.myfaces.trinidadinternal.uinode.UIComponentUINode._renderComponent(UIComponentUINode.java:337)
>> >> >        at org.apache.myfaces.trinidadinternal.uinode.UIComponentUINode.render(UIComponentUINode.java:279)
>> >> >        at org.apache.myfaces.trinidadinternal.uinode.UIComponentUINode.render(UIComponentUINode.java:257)
>> >> >        at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderChild(BaseRenderer.java:425)
>> >> >        at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderNamedChild(BaseRenderer.java:397)
>> >> >        at org.apache.myfaces.trinidadinternal.ui.laf.base.desktop.PageHeaderLayoutRenderer._renderTabBar(PageHeaderLayoutRenderer.java:571)
>> >> >        at org.apache.myfaces.trinidadinternal.ui.laf.base.desktop.PageHeaderLayoutRenderer.renderContent(PageHeaderLayoutRenderer.java:431)
>> >> >        at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.render(BaseRenderer.java:93)
>> >> >        at org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:84)
>> >> >        at org.apache.myfaces.trinidadinternal.uinode.UIXComponentUINode.renderInternal(UIXComponentUINode.java:192)
>> >> >        at org.apache.myfaces.trinidadinternal.uinode.UINodeRendererBase.encodeEnd(UINodeRendererBase.java:70)
>> >> >        at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:763)
>> >> >        at org.apache.myfaces.trinidad.render.RenderUtils.encodeRecursive(RenderUtils.java:70)
>> >> >        at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:299)
>> >> >        at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:321)
>> >> >        at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:65)
>> >> >        at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:138)
>> >> >        at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:119)
>> >> >        at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:78)
>> >> >        at org.apache.myfaces.trinidad.render.CoreRenderer.delegateRenderer(CoreRenderer.java:335)
>> >> >        at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.DocumentRenderer.encodeAll(DocumentRenderer.java:80)
>> >> >        at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:224)
>> >> >        at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:763)
>> >> >        at org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecursive(UIXComponentBase.java:1351)
>> >> >        at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeAll(UIXComponentBase.java:783)
>> >> >        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:246)
>> >> >        at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
>> >> >        at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:46)
>> >> >        at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:188)
>> >> >        at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
>> >> >        at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
>> >> >        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
>> >> >        at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
>> >> >        at mil.osd.dmdc.deers.web.webdoes.filter.LogFilter.doFilter(LogFilter.java:53)
>> >> >        at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
>> >> >        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:238)
>> >> >        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:195)
>> >> >        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138)
>> >> >        at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
>> >> >        at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
>> >> >        at mil.osd.dmdc.deers.web.webdoes.filter.ConsentFilter.doFilter(ConsentFilter.java:95)
>> >> >        at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
>> >> >        at mil.osd.dmdc.deers.web.webdoes.filter.WebDoesFilter.doFilter(WebDoesFilter.java:59)
>> >> >        at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
>> >> >        at mil.osd.dmdc.deers.web.webdoes.filter.SessionFilter.doFilter(SessionFilter.java:137)
>> >> >        at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
>> >> >        at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
>> >> >        at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
>> >> >        at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
>> >> >        at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
>> >> >        at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
>> >> >        at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
>> >> >        at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
>> >> >        at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
>> >> >        at java.lang.Thread.run(Thread.java:595)
>> >> > Caused by: oracle.classloader.util.AnnotatedNoClassDefFoundError:
>> >> >
>> >> >          Missing class: javax.servlet.jsp.tagext.JspIdConsumer
>> >> >
>> >> >        Dependent class: javax.faces.webapp.UIComponentClassicTagBase
>> >> >                 Loader: current-workspace-app.web.webdoes:0.0.0
>> >> >            Code-Source:
>> >> > /D:/public/CommonLib/app/lib/3rdParty/Apache/myfaces/1.2.3/myfaces-api-1.2.3.jar
>> >> >          Configuration: <classpath> in
>> >> > D:\UserData\sandbox\sprint3_webdoes_10133\webdoes\java\src\web
>> >> >
>> >> > The missing class is not available from any code-source or loader in
the system.
>> >> >        at oracle.classloader.PolicyClassLoader.defineClass(PolicyClassLoader.java:2264)
>> >> >        at oracle.classloader.PolicyClassLoader.findLocalClass(PolicyClassLoader.java:1462)
>> >> >        at oracle.classloader.SearchPolicy$FindLocal.getClass(SearchPolicy.java:167)
>> >> >        at oracle.classloader.SearchSequence.getClass(SearchSequence.java:119)
>> >> >        at oracle.classloader.PolicyClassLoader.internalLoadClass(PolicyClassLoader.java:1674)
>> >> >        at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1635)
>> >> >        at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1620)
>> >> >        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>> >> >        at java.lang.ClassLoader.defineClass1(Native Method)
>> >> >        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>> >> >        at oracle.classloader.PolicyClassLoader.defineClass(PolicyClassLoader.java:2241)
>> >> >        at oracle.classloader.PolicyClassLoader.findLocalClass(PolicyClassLoader.java:1462)
>> >> >        at oracle.classloader.SearchPolicy$FindLocal.getClass(SearchPolicy.java:167)
>> >> >        at oracle.classloader.SearchSequence.getClass(SearchSequence.java:119)
>> >> >        at oracle.classloader.PolicyClassLoader.internalLoadClass(PolicyClassLoader.java:1674)
>> >> >        at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1635)
>> >> >        at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1620)
>> >> >        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>> >> >        at org.apache.myfaces.trinidadinternal.menu.MenuUtils.evalBoolean(MenuUtils.java:152)
>> >> >        at org.apache.myfaces.trinidadinternal.menu.MenuNode.getRendered(MenuNode.java:131)
>> >> >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >> >        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> >> >        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> >> >        at java.lang.reflect.Method.invoke(Method.java:585)
>> >> >        at javax.el.BeanELResolver.getValue(BeanELResolver.java:292)
>> >> >        at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143)
>> >> >        at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.access$301(FacesCompositeELResolver.java:46)
>> >> >        at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver$4.invoke(FacesCompositeELResolver.java:108)
>> >> >        at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.invoke(FacesCompositeELResolver.java:148)
>> >> >        at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:104)
>> >> >        at com.sun.el.parser.AstValue.getValue(Unknown Source)
>> >> >        at com.sun.el.ValueExpressionImpl.getValue(Unknown Source)
>> >> >        at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
>> >> >        ... 63 more
>> >> >
>> >> >
>> >> >
>> >> > Has anyone seen this problem before? I was under the impression that
I
>> >> > could run Trinidad 1.2.9 and MyFaces 1.2.3 on a JSP 1.2 Container
>> >> > (OC4J R3) with Facelets.
>> >> >
>> >> > Thanks,
>> >> >
>> >> > Richard
>> >> >
>> >>
>> >
>>
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Mime
View raw message