apache
jspωiki
G’day (anonymous guest)
User Preferences
Log in
Register a new user!
For full search, hit enter...
Recent Searches
JSPWikiClassLoadingIssue
☰
View
Info
Version :
9
Date Modified :
23-Apr-2022 17:05
Author : Harry Metske
More Info...
Attachments
Reading time: 3 mins, 675 words
Help
More...
SystemInfo
RecentChanges
Save
first
..
..
..
Help
Auto Suggest
Tab Completion (keyword+Tab)
Smart Typing Pairs
Live Preview
Side by Side Preview
plain
wysiwyg
Find & Replace
×
TUUT
Replace
Replace all
Match Case
RegExp
!! JSPWiki Classloading Issue [{TableOfContents }] \\After moving the class WikiPage to the package org.apache.jspwiki.api we started getting NoClassDefFoundErrors for this class if it is referenced from JSP's. \\References from other classes gives no problem. \\See stacktrace at the bottom The strange thing is that the JSP can be compiled, but if it is invoked it gets the NCDFE. ! Steps done to diagnose I have tried the following to diagnose the problem : ||action ||result |used the binary download from jspwiki.org (instead of build in Eclipse| No Success |move WikiPage back to the old package com.ecyrd.jspwiki| __Success__ |installed in Glassfish (instead of Tomcat)| No Success |installed in Geronimo (intead of Tomcat)| No Success |installed in WebSphere 6.1 (intead of Tomcat)| No Success (NPE in Stripes, not further diagnosed) |run in webtests/Jetty|No Success, cant find logfile but the Firefox screen looks similar |put org.apache.jspwiki.api classes in separate jar file| No Success |ran Tomcat with -verbose:class|No Success, no clue, the WikiPage is loaded from JSPWiki.jar, no strange things noticed |rename package org.apache.jspwiki.api to org__2__.apache.jspwiki.api|__Success__ |rename package org.apache.jspwiki.api to org.apache__2__.jspwiki.api|__Success__ |rename package org.apache.jspwiki.api to org.apache.jspwiki__2__.api|No Succes => hehe => has org.apache restrictions ?! |rename package org.apache.jspwiki.api to org.apache.j__z__pwiki.api|__Success__ |rename package org.apache.jspwiki.api to org.apache.jsp__2__wiki.api|No Success => would we somehow conflict with org.apache.jsp, which is a package name for servlets compiled from JSP's (look at tomcat's work directory) !! Cause and Solution It indeed appears to be related to Jasper, see [JSPWIKI-465|https://issues.apache.org/jira/browse/JSPWIKI-465] for details. \\You need a recent version of Jasper (Tomcat 6.0.19, or 6.0.16 with Java System Property -Dorg.apache.jasper.Constants.JSP_PACKAGE_NAME=org.apache.jzp) The following containers suffer from this problem, because they use Jasper: * Tomcat * Glassfish * Geronimo * Jetty * JBoss * WebSphere ? (I'll have to check that) * WebLogic ? (I don't know) * OC4J ? (I don't know) !! Stacktrace {{{ INFO: Server startup in 33767 ms Dec 30, 2008 7:47:47 PM org.apache.catalina.core.ApplicationContext log INFO: No jspwiki.propertyfile defined for this context, using default from /WEB-INF/jspwiki.properties Dec 30, 2008 7:47:47 PM org.apache.catalina.core.ApplicationContext log INFO: Loading cascading properties... Dec 30, 2008 7:47:47 PM org.apache.catalina.core.ApplicationContext log INFO: No cascading properties defined for this context Dec 30, 2008 7:47:48 PM org.apache.catalina.core.ApplicationDispatcher invoke SEVERE: Servlet.service() for servlet jsp threw exception java.lang.ClassNotFoundException: org.apache.jspwiki.api.WikiPage at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336) at org.apache.jsp.templates.default_.PageTab_jsp._jspService(PageTab_jsp.java:116) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472) at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968) at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:609) at com.ecyrd.jspwiki.tags.IncludeTag.doEndTag(IncludeTag.java:84) at org.apache.jsp.templates.default_.PageContent_jsp._jspx_meth_wiki_005fInclude_005f0(PageContent_jsp.java:387) at org.apache.jsp.templates.default_.PageContent_jsp._jspService(PageContent_jsp.java:141) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472) at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968) at org.apache.jsp.Wiki_jsp._jspx_meth_stripes_005flayout_002dcomponent_005f0(Wiki_jsp.java:163) at org.apache.jsp.Wiki_jsp._jspx_meth_stripes_005flayout_002drender_005f0(Wiki_jsp.java:122) at org.apache.jsp.Wiki_jsp._jspService(Wiki_jsp.java:84) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:246) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.ecyrd.jspwiki.ui.WikiServletFilter.doFilter(WikiServletFilter.java:183) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:636) 2008-12-30 19:47:48,982 [http-8080-1] WARN com.ecyrd.jspwiki.tags.WikiTagBase - Including failed, got a servlet exception from sub-page. Rethrowing the exception to the JSP engine. org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/jspwiki/api/WikiPage at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472) at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968) at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:609) at com.ecyrd.jspwiki.tags.IncludeTag.doEndTag(IncludeTag.java:84) at org.apache.jsp.templates.default_.PageContent_jsp._jspx_meth_wiki_005fInclude_005f0(PageContent_jsp.java:387) at org.apache.jsp.templates.default_.PageContent_jsp._jspService(PageContent_jsp.java:141) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472) at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968) at org.apache.jsp.Wiki_jsp._jspx_meth_stripes_005flayout_002dcomponent_005f0(Wiki_jsp.java:163) at org.apache.jsp.Wiki_jsp._jspx_meth_stripes_005flayout_002drender_005f0(Wiki_jsp.java:122) at org.apache.jsp.Wiki_jsp._jspService(Wiki_jsp.java:84) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:246) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.ecyrd.jspwiki.ui.WikiServletFilter.doFilter(WikiServletFilter.java:183) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:636) Caused by: javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/jspwiki/api/WikiPage at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850) at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779) at org.apache.jsp.templates.default_.PageTab_jsp._jspService(PageTab_jsp.java:458) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) ... 53 more Caused by: java.lang.NoClassDefFoundError: org/apache/jspwiki/api/WikiPage at org.apache.jsp.templates.default_.PageTab_jsp._jspService(PageTab_jsp.java:116) ... 56 more Caused by: java.lang.ClassNotFoundException: org.apache.jspwiki.api.WikiPage at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336) }}}
Recent Changes
Find pages
Page Index
SystemInfo
Harry's PGP key