You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by saurish <sr...@gmail.com> on 2014/01/23 12:57:49 UTC

java.lang.NoClassDefFoundError: org/carrot2/core/ControllerFactory

<p>
Hi,
I am new to solr and successfully did a basic search. Now i am trying to do
classification of the search results using carrrot's support which comes
with solr 4.5.1. Would appreciate if someone tells me what is that i am
missing...may be a trivial issue??!!!

I am getting the below error..*java.lang.NoClassDefFoundError:
org/carrot2/core/ControllerFactory*. I know this error might be because of
carrot2 classes not getting loaded. But if you look below the jars in the
"../contrib/clustering/lib" directory are being loaded. but still i am
getting the error. what might be the reason?

I am working with Solr 4.5.1 on tomcat 7.0.47.
<br></br>
</p>
<br>

INFO  - 2014-01-23 16:02:50.865; org.apache.solr.core.CorePropertiesLocator;
Looking for core definitions underneath D:\Work\xxxxx\solr
INFO  - 2014-01-23 16:02:51.288; org.apache.solr.core.CorePropertiesLocator;
Found core collection1 in D:\Work\xxxxx\solr\collection1\
INFO  - 2014-01-23 16:02:51.911; org.apache.solr.core.CorePropertiesLocator;
Found 1 core definitions
INFO  - 2014-01-23 16:02:51.916; org.apache.solr.core.CoreContainer;
Creating SolrCore 'collection1' using instanceDir:
D:\Work\xxxxx\solr\collection1
INFO  - 2014-01-23 16:02:51.918; org.apache.solr.core.SolrResourceLoader;
new SolrResourceLoader for directory: 'D:\Work\xxxxx\solr\collection1\'

* Look at the librarries being loaded* <br></br>

INFO  - 2014-01-23 16:02:52.408; org.apache.solr.core.SolrConfig; Adding
specified lib dirs to ClassLoader
INFO  - 2014-01-23 16:02:52.482; org.apache.solr.core.SolrResourceLoader; 

* INFO  - 2014-01-23 16:02:52.634; org.apache.solr.core.SolrResourceLoader;
Adding
'file:/D:/Work/xxxxx/solr/contrib/clustering/lib/attributes-binder-1.2.0.jar'
to classloader
INFO  - 2014-01-23 16:02:52.637; org.apache.solr.core.SolrResourceLoader;
Adding
'file:/D:/Work/xxxxx/solr/contrib/clustering/lib/carrot2-mini-3.8.0.jar' to
classloader
INFO  - 2014-01-23 16:02:52.639; org.apache.solr.core.SolrResourceLoader;
Adding 'file:/D:/Work/xxxxx/solr/contrib/clustering/lib/hppc-0.5.2.jar' to
classloader
INFO  - 2014-01-23 16:02:52.642; org.apache.solr.core.SolrResourceLoader;
Adding
'file:/D:/Work/xxxxx/solr/contrib/clustering/lib/jackson-core-asl-1.7.4.jar'
to classloader
INFO  - 2014-01-23 16:02:52.644; org.apache.solr.core.SolrResourceLoader;
Adding
'file:/D:/Work/xxxxx/solr/contrib/clustering/lib/jackson-mapper-asl-1.7.4.jar'
to classloader
INFO  - 2014-01-23 16:02:52.645; org.apache.solr.core.SolrResourceLoader;
Adding
'file:/D:/Work/xxxxx/solr/contrib/clustering/lib/mahout-collections-1.0.jar'
to classloader
INFO  - 2014-01-23 16:02:52.649; org.apache.solr.core.SolrResourceLoader;
Adding 'file:/D:/Work/xxxxx/solr/contrib/clustering/lib/mahout-math-0.6.jar'
to classloader
INFO  - 2014-01-23 16:02:52.653; org.apache.solr.core.SolrResourceLoader;
Adding 'file:/D:/Work/xxxxx/solr/contrib/clustering/lib/simple-xml-2.7.jar'
to classloader
INFO  - 2014-01-23 16:02:52.660; org.apache.solr.core.SolrResourceLoader;
Adding 'file:/D:/Work/xxxxx/solr/dist/solr-clustering-4.5.1.jar' to
classloader  
INFO  - 2014-01-23 16:02:52.664; org.apache.solr.core.SolrResourceLoader;* 
Adding 'file:/D:/Work/xxxxx/solr/contrib/langid/lib/jsonic-1.2.7.jar' to
classloader
INFO  - 2014-01-23 16:02:52.665; org.apache.solr.core.SolrResourceLoader; 
INFO  - 2014-01-23 16:02:58.237; org.apache.solr.core.SolrConfig; Loaded
SolrConfig: solrconfig.xml
INFO  - 2014-01-23 16:02:58.430; org.apache.solr.schema.IndexSchema; Reading
Solr Schema from schema.xml
INFO  - 2014-01-23 16:02:58.762; org.apache.solr.schema.IndexSchema;
[collection1] Schema name=nutch
INFO  - 2014-01-23 16:03:02.138; org.apache.solr.schema.IndexSchema; default
search field in schema is text
INFO  - 2014-01-23 16:03:02.141; org.apache.solr.schema.IndexSchema; query
parser default operator is OR
INFO  - 2014-01-23 16:03:02.145; org.apache.solr.schema.IndexSchema; unique
key field: url
INFO  - 2014-01-23 16:03:03.765; org.apache.solr.core.SolrCore;
solr.NRTCachingDirectoryFactory
INFO  - 2014-01-23 16:03:03.797; org.apache.solr.core.SolrCore;
[collection1] Opening new SolrCore at D:\Work\xxxxx\solr\collection1\,
dataDir=D:/Work/xxxxx/solr/data\
INFO  - 2014-01-23 16:03:03.936; org.apache.solr.core.JmxMonitoredMap; JMX
monitoring is enabled. Adding Solr mbeans to JMX Server:
com.sun.jmx.mbeanserver.JmxMBeanServer@2a5ab9
INFO  - 2014-01-23 16:03:04.461; org.apache.solr.core.SolrCore;
[collection1] Added SolrEventListener for newSearcher:
org.apache.solr.core.QuerySenderListener{queries=[]}
INFO  - 2014-01-23 16:03:04.464; org.apache.solr.core.SolrCore;
[collection1] Added SolrEventListener for firstSearcher:
org.apache.solr.core.QuerySenderListener{queries=[{q=static firstSearcher
warming in solrconfig.xml}]}
INFO  - 2014-01-23 16:03:04.699;
org.apache.solr.core.CachingDirectoryFactory; return new directory for
D:\Work\xxxxx\solr\data
INFO  - 2014-01-23 16:03:04.700; org.apache.solr.core.SolrCore; New index
directory detected: old=null new=D:/Work/xxxxx/solr/data\index/
INFO  - 2014-01-23 16:03:04.704;
org.apache.solr.core.CachingDirectoryFactory; return new directory for
D:\Work\xxxxx\solr\data\index

INFO  - 2014-01-23 16:03:05.751; org.apache.solr.core.RequestHandlers;
created /select: solr.SearchHandler

INFO  - 2014-01-23 16:03:08.762;
org.apache.solr.handler.component.SpellCheckComponent; Initializing spell
checkers
INFO  - 2014-01-23 16:03:08.793;
org.apache.solr.spelling.DirectSolrSpellChecker; init:
{name=default,field=text,classname=solr.DirectSolrSpellChecker,distanceMeasure=internal,accuracy=0.5,maxEdits=2,minPrefix=1,maxInspections=5,minQueryLength=4,maxQueryFrequency=0.01}
INFO  - 2014-01-23 16:03:08.824;
org.apache.solr.handler.component.SpellCheckComponent; No queryConverter
defined, using default converter
INFO  - 2014-01-23 16:03:08.834;
org.apache.solr.handler.clustering.ClusteringComponent; Initializing
Clustering Engines
INFO  - 2014-01-23 16:03:08.872; org.apache.solr.core.SolrCore;
[collection1]  CLOSING SolrCore org.apache.solr.core.SolrCore@fbbbb3
INFO  - 2014-01-23 16:03:08.872; org.apache.solr.core.QuerySenderListener;
QuerySenderListener sending requests to Searcher@1857368
main{StandardDirectoryReader(segments_c:27:nrt _6(4.5.1):C31)}
INFO  - 2014-01-23 16:03:08.897;
org.apache.solr.update.DirectUpdateHandler2; closing
DirectUpdateHandler2{commits=0,autocommit maxTime=15000ms,autocommits=0,soft
autocommits=0,optimizes=0,rollbacks=0,expungeDeletes=0,docsPending=0,adds=0,deletesById=0,deletesByQuery=0,errors=0,cumulative_adds=0,cumulative_deletesById=0,cumulative_deletesByQuery=0,cumulative_errors=0}
INFO  - 2014-01-23 16:03:08.923; org.apache.solr.update.SolrCoreState;
Closing SolrCoreState
INFO  - 2014-01-23 16:03:08.928;
org.apache.solr.update.DefaultSolrCoreState; SolrCoreState ref count has
reached 0 - closing IndexWriter
INFO  - 2014-01-23 16:03:08.938;
org.apache.solr.update.DefaultSolrCoreState; closing IndexWriter with
IndexWriterCloser
ERROR - 2014-01-23 16:03:09.545; org.apache.solr.common.SolrException;
java.lang.NullPointerException
	at
org.apache.solr.handler.component.HighlightComponent.prepare(HighlightComponent.java:69)
	at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:187)
	at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
	at
org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.handleRequest(RequestHandlers.java:241)
	at org.apache.solr.core.SolrCore.execute(SolrCore.java:1859)
	at
org.apache.solr.core.QuerySenderListener.newSearcher(QuerySenderListener.java:64)
	at org.apache.solr.core.SolrCore$5.call(SolrCore.java:1648)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)

INFO  - 2014-01-23 16:03:09.600; org.apache.solr.core.SolrCore;
[collection1] webapp=null path=null
params={event=firstSearcher&q=static+firstSearcher+warming+in+solrconfig.xml&distrib=false}
status=500 QTime=676 
INFO  - 2014-01-23 16:03:09.608; org.apache.solr.core.QuerySenderListener;
QuerySenderListener done.
INFO  - 2014-01-23 16:03:09.615;
org.apache.solr.handler.component.SpellCheckComponent$SpellCheckerListener;
Loading spell index for spellchecker: default
INFO  - 2014-01-23 16:03:09.620; 
*ERROR - 2014-01-23 16:03:09.700; org.apache.solr.core.CoreContainer; Unable
to create core: collection1
org.apache.solr.common.SolrException: org/carrot2/core/ControllerFactory*	at
org.apache.solr.core.SolrCore.<init>(SolrCore.java:834)
	at org.apache.solr.core.SolrCore.<init>(SolrCore.java:625)
	at
org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:522)
	at org.apache.solr.core.CoreContainer.create(CoreContainer.java:557)
	at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:247)
	at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:239)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.NoClassDefFoundError:
org/carrot2/core/ControllerFactory
	at
org.apache.solr.handler.clustering.carrot2.CarrotClusteringEngine.<init>(CarrotClusteringEngine.java:107)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
	at java.lang.Class.newInstance(Class.java:374)
	at
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:479)
	at
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:467)
	at
org.apache.solr.handler.clustering.ClusteringComponent.inform(ClusteringComponent.java:116)
	at
org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:601)
	at org.apache.solr.core.SolrCore.<init>(SolrCore.java:829)
	... 11 more
*Caused by: java.lang.ClassNotFoundException:
org.carrot2.core.ControllerFactory*
	at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
	at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
	... 22 more
ERROR - 2014-01-23 16:03:09.838; org.apache.solr.common.SolrException;
null:org.apache.solr.common.SolrException: Unable to create core:
collection1
	at
org.apache.solr.core.CoreContainer.recordAndThrow(CoreContainer.java:934)
	at org.apache.solr.core.CoreContainer.create(CoreContainer.java:566)
	at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:247)
	at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:239)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.solr.common.SolrException:
org/carrot2/core/ControllerFactory
	at org.apache.solr.core.SolrCore.<init>(SolrCore.java:834)
	at org.apache.solr.core.SolrCore.<init>(SolrCore.java:625)
	at
org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:522)
	at org.apache.solr.core.CoreContainer.create(CoreContainer.java:557)
	... 8 more
Caused by: java.lang.NoClassDefFoundError:
org/carrot2/core/ControllerFactory
	at
org.apache.solr.handler.clustering.carrot2.CarrotClusteringEngine.<init>(CarrotClusteringEngine.java:107)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
	at java.lang.Class.newInstance(Class.java:374)
	at
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:479)
	at
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:467)
	at
org.apache.solr.handler.clustering.ClusteringComponent.inform(ClusteringComponent.java:116)
	at
org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:601)
	at org.apache.solr.core.SolrCore.<init>(SolrCore.java:829)
	... 11 more
*Caused by: java.lang.ClassNotFoundException:
org.carrot2.core.ControllerFactory
	at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
	at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
	... 22 more*
INFO  - 2014-01-23 16:03:09.954; org.apache.solr.servlet.SolrDispatchFilter;
SolrDispatchFilter.init() done
<br></br>


The searchcomponent and request processer defined in my solrconfig.xml are
as follows:
* The request processor... 


/ 
 <requestHandler name="/select"   startup="lazy"
enable="${solr.clustering.enabled:true}" class="solr.SearchHandler">
     <lst name="defaults">
       <str name="echoParams">explicit</str>
       <int name="rows">10</int>
       <str name="df">text</str>
		  <bool name="clustering">true</bool>
		  <bool name="clustering.results">true</bool>
		  <str name="carrot.title">name</str>
		  <str name="carrot.url">id</str>
		  <str name="carrot.snippet">features</str>
		  <bool name="carrot.produceSummary">true</bool>
		  <bool name="carrot.outputSubClusters">false</bool>
		<str name="defType">edismax</str>
		<str name="qf">body^.2 title^10.0</str>
     </lst>
 	 <arr name="last-components">
       <str>clustering</str>
     </arr>
 	 
    </requestHandler>/

*... and the searchcomponent is ..*
<br></br>
/

  <searchComponent name="clustering"
                   enable="${solr.clustering.enabled:true}"
                   class="solr.clustering.ClusteringComponent" >
    <lst name="engine">
      <str name="name">lingo</str>
      <str
name="carrot.algorithm">org.carrot2.clustering.lingo.LingoClusteringAlgorithm</str>

      <str name="carrot.resourcesDir">clustering/carrot2</str>
    </lst>

    <lst name="engine">
      <str name="name">stc</str>
      <str
name="carrot.algorithm">org.carrot2.clustering.stc.STCClusteringAlgorithm</str>
    </lst>

    <lst name="engine">
      <str name="name">kmeans</str>
      <str
name="carrot.algorithm">org.carrot2.clustering.kmeans.BisectingKMeansClusteringAlgorithm</str>
    </lst>
  </searchComponent>
/

Regards,



--
View this message in context: http://lucene.472066.n3.nabble.com/java-lang-NoClassDefFoundError-org-carrot2-core-ControllerFactory-tp4112967.html
Sent from the Solr - User mailing list archive at Nabble.com.

Re: java.lang.NoClassDefFoundError: org/carrot2/core/ControllerFactory

Posted by saurish <sr...@gmail.com>.
Thanks Shawn. Appreciate it.



--
View this message in context: http://lucene.472066.n3.nabble.com/java-lang-NoClassDefFoundError-org-carrot2-core-ControllerFactory-tp4112967p4113683.html
Sent from the Solr - User mailing list archive at Nabble.com.

Re: java.lang.NoClassDefFoundError: org/carrot2/core/ControllerFactory

Posted by Shawn Heisey <so...@elyograg.org>.
On 1/23/2014 4:57 AM, saurish wrote:
> I am new to solr and successfully did a basic search. Now i am trying to do
> classification of the search results using carrrot's support which comes
> with solr 4.5.1. Would appreciate if someone tells me what is that i am
> missing...may be a trivial issue??!!!
> 
> I am getting the below error..*java.lang.NoClassDefFoundError:
> org/carrot2/core/ControllerFactory*. I know this error might be because of
> carrot2 classes not getting loaded. But if you look below the jars in the
> "../contrib/clustering/lib" directory are being loaded. but still i am
> getting the error. what might be the reason?
> 
> I am working with Solr 4.5.1 on tomcat 7.0.47.

Have you defined the sharedLib setting in your solr.xml file to point at
these jars?  If you have, you'll need to remove that.

I've summarized the issues with jar loading and sharedLib on the
12/Nov/2013 comment for this issue:

https://issues.apache.org/jira/browse/SOLR-4852

My recommendation for anyone that needs extra jars with Solr:  Remove
all <lib> directives from solrconfig.xml.  Copy all jars that you
actually require to ${solr.solr.home}/lib.  Because you're on 4.5.1,
remove the sharedLib setting from solr.xml.  If you were on 4.2.1 or
earlier, you'd need the sharedLib setting, with lib as the value.

Thanks,
Shawn