I find it is best to troubleshoot path problems backwards. Run something that logs every file access (SysInternal's Process Monitor on Windows, truss/struss on *nix/Mac systems) and then grep for jars. You will see exactly which jars are loaded from where and also which other jars the same process looked for just before/after. That often can give you a hint of where the requests are coming from. This method has a bit of a learning curve the first time, but the time investment pays off really fast.
Shameless plus for - an old but still valid - presentation of mine on this: http://www.infoq.com/presentations/maintaining-production-java-apps Regards, Alex. Personal blog: http://blog.outerthoughts.com/ LinkedIn: http://www.linkedin.com/in/alexandrerafalovitch - Time is the quality of nature that keeps events from happening all at once. Lately, it doesn't seem to be working. (Anonymous - via GTD book) On Tue, Nov 27, 2012 at 7:42 AM, Erick Erickson <erickerick...@gmail.com>wrote: > Sure looks like you're mixing up jars from old and new Solrs somehow. > You've > stripped down the classpath, but what about the solr libraries? All the > things that > can be defined in <lib> directives in solrconfig.xml? > > Not much help I know, but the best I can think of. > Erick > > > On Mon, Nov 26, 2012 at 7:38 PM, Mark Bennett <mbenn...@ideaeng.com> > wrote: > > > I'm sure this is some config error, but I've checked a lot of things and > > not finding much on Google. Not sure if it's a jvm, maven, jetty or solr > > config issue. > > > > I'm running with a custom Solr 4.0.0 app under Jetty 8.1.2, with a clone > of > > the example directory tree. > > > > The main error seems to be: > > java.lang.ClassCastException: class > > org.apache.lucene.codecs.mockintblock.*MockFixedIntBlockPostingsFormat* > > ... > > at org.apache.lucene.util.NamedSPILoader.<init>(*NamedSPILoader* > > .java:37) > > at org.apache.lucene.codecs.PostingsFormat.<clinit>(*PostingsFormat* > > .java:44) > > > > I've added jars to the class path, and iteratively stripped down my > configs > > to the bare essentials. > > > > It's odd that it talks about a Mock class as I'd normally associate that > > with unit tests; presumably that's part of the Service Loader mechanism. > > > > Error logs: > > WARNING: FAILED SolrRequestFilter: java.lang.ExceptionInInitializerError > > java.lang.ExceptionInInitializerError > > at > > > > > org.apache.solr.core.SolrResourceLoader.reloadLuceneSPI(SolrResourceLoader.java:179) > > at > > > org.apache.solr.core.SolrResourceLoader.<init>(SolrResourceLoader.java:113) > > at > > > org.apache.solr.core.SolrResourceLoader.<init>(SolrResourceLoader.java:228) > > at org.apache.solr.core.Config.<init>(Config.java:94) > > at org.apache.solr.core.Config.<init>(Config.java:73) > > at > > > > > org.apache.solr.servlet.SolrDispatchFilter.<init>(SolrDispatchFilter.java:91) > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > > Method) > > at > > > > > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > > at > > > > > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > > at java.lang.Class.newInstance0(Class.java:355) > > at java.lang.Class.newInstance(Class.java:308) > > at > > > > > org.eclipse.jetty.servlet.ServletContextHandler$Context.createFilter(ServletContextHandler.java:951) > > ... > > Caused by: java.lang.ClassCastException: class > > org.apache.lucene.codecs.mockintblock.MockFixedIntBlockPostingsFormat > > at java.lang.Class.asSubclass(Class.java:3018) > > at > > org.apache.lucene.util.SPIClassIterator.next(SPIClassIterator.java:126) > > at > org.apache.lucene.util.NamedSPILoader.reload(NamedSPILoader.java:60) > > at > org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:42) > > at > org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:37) > > at > > org.apache.lucene.codecs.PostingsFormat.<clinit>(PostingsFormat.java:44) > > ... 56 more > > > > Later I see: > > WARNING: FAILED > > > > > o.e.j.w.WebAppContext{/solr,file:.../},target/classes/jettyhome/webapps/solr.war: > > java.lang.ExceptionInInitializerError > > java.lang.ExceptionInInitializerError > > at > > > > > org.apache.solr.core.SolrResourceLoader.reloadLuceneSPI(SolrResourceLoader.java:179) > > at > > > org.apache.solr.core.SolrResourceLoader.<init>(SolrResourceLoader.java:113) > > at > > > org.apache.solr.core.SolrResourceLoader.<init>(SolrResourceLoader.java:228) > > at org.apache.solr.core.Config.<init>(Config.java:94) > > at org.apache.solr.core.Config.<init>(Config.java:73) > > at > > > > > org.apache.solr.servlet.SolrDispatchFilter.<init>(SolrDispatchFilter.java:91) > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > > Method) > > at > > > > > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > > at > > > > > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > > at java.lang.Class.newInstance0(Class.java:355) > > at java.lang.Class.newInstance(Class.java:308) > > at > > > > > org.eclipse.jetty.servlet.ServletContextHandler$Context.createFilter(ServletContextHandler.java:951) > > > > > > -- > > Mark Bennett / New Idea Engineering, Inc. / mbenn...@ideaeng.com > > Direct: 408-733-0387 / Main: 866-IDEA-ENG / Cell: 408-829-6513 > > >