Java Tomcat+Wicket偶发NoClassDefFoundError
在加载特定页面时,我偶尔会遇到以下异常:Java Tomcat+Wicket偶发NoClassDefFoundError,java,tomcat,wicket,classloader,Java,Tomcat,Wicket,Classloader,在加载特定页面时,我偶尔会遇到以下异常: java.lang.NoClassDefFoundError: Could not initialize class com.app.item.search.SearchResultPanel at com.app.item.search.SearchResultPage.initialize(SearchResultPage.java:86) at com.app.core.layout.BasePage.onIniti
java.lang.NoClassDefFoundError: Could not initialize class com.app.item.search.SearchResultPanel
at com.app.item.search.SearchResultPage.initialize(SearchResultPage.java:86)
at com.app.core.layout.BasePage.onInitialize(BasePage.java:147)
at org.apache.wicket.Component.fireInitialize(Component.java:864)
at org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:955)
at org.apache.wicket.Page.isPageStateless(Page.java:464)
at org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.getPageInfo(AbstractBookmarkableMapper.java:447 )
at org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.mapHandler(AbstractBookmarkableMapper.java:391)
at org.apache.wicket.request.mapper.mount.UnmountedMapperAdapter.mapHandler(UnmountedMapperAdapter.java:61)
at org.apache.wicket.request.mapper.mount.MountMapper.mapHandler(MountMapper.java:145)
at org.apache.wicket.request.mapper.CompoundRequestMapper.mapHandler(CompoundRequestMapper.java:215)
at org.apache.wicket.request.cycle.RequestCycle.mapUrlFor(RequestCycle.java:429)
at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:271)
at org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862)
at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
--- CUT ---
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
通过重启tomcat 2、3、4或5次,问题自行解决,并且只有在部署到开发/集成环境时才会发生。在我的开发虚拟机上,它从未发生过。而且它只影响几个页面/面板,始终影响它们
SearchResultPanel是一个扩展wicket Panel类的简单类
在catalina.out上,我看到搜索结果是从Lucene加载的,但是当它显示页面时,我收到上面的异常和wicket/tomcat提供的404页面
SearchResultPanel的构造函数:
public SearchResultPanel(String id, final SearchResult resultList)
生成异常SearchResultPage:86的行:
SearchResultPanel resultPanel = new SearchResultPanel("searchResults",
results);
SearchResultPanel位于应用程序的WEB-INF文件夹中:
# locate SearchResultPanel
/var/lib/tomcat7/webapps/app/WEB-INF/classes/com/app/item/search/SearchResultPanel$1.class
/var/lib/tomcat7/webapps/app/WEB-INF/classes/com/app/item/search/SearchResultPanel$2.class
/var/lib/tomcat7/webapps/app/WEB-INF/classes/com/app/item/search/SearchResultPanel$3.class
/var/lib/tomcat7/webapps/app/WEB-INF/classes/com/app/item/search/SearchResultPanel$4.class
/var/lib/tomcat7/webapps/app/WEB-INF/classes/com/app/item/search/SearchResultPanel$5.class
/var/lib/tomcat7/webapps/app/WEB-INF/classes/com/app/item/search/SearchResultPanel$6.class
/var/lib/tomcat7/webapps/app/WEB-INF/classes/com/app/item/search/SearchResultPanel$7.class
/var/lib/tomcat7/webapps/app/WEB-INF/classes/com/app/item/search/SearchResultPanel$8.class
/var/lib/tomcat7/webapps/app/WEB-INF/classes/com/app/item/search/SearchResultPanel$ItemFragment$1.class
/var/lib/tomcat7/webapps/app/WEB-INF/classes/com/app/item/search/SearchResultPanel$ItemFragment$2.class
/var/lib/tomcat7/webapps/app/WEB-INF/classes/com/app/item/search/SearchResultPanel$ItemFragment$3.class
/var/lib/tomcat7/webapps/app/WEB-INF/classes/com/app/item/search/SearchResultPanel$ItemFragment.class
/var/lib/tomcat7/webapps/app/WEB-INF/classes/com/app/item/search/SearchResultPanel$SortImageModel.class
/var/lib/tomcat7/webapps/app/WEB-INF/classes/com/app/item/search/SearchResultPanel.class
/var/lib/tomcat7/webapps/app/WEB-INF/classes/com/app/item/search/SearchResultPanel.html
使用:
边门:6.14.0
ApacheTomcat/7.0.26
您能进一步建议我如何调试这个类加载问题吗
多谢各位 检查客户端和服务器端的java版本,如果您在服务器端使用较低版本的java,则可能会发生此异常通常意味着在类的静态块中引发了异常。请检查一下,我也有同样的问题。我重新开始,一切都很好,但一切都很顺利。