Those Spi classes rely on a configuration file that gets stored in the META-INF folder. I'm not familiar with who OSGI works, but I'm pretty sure that failure is because the file META-INF/services/org.apache.lucene.codecs.Codec (you'll see it in the lucene-core jar) can't be found

-Mike

On 11/22/2014 10:14 PM, Danesh Kuruppu wrote:
Hi all,

I am using solr version 4.7.2. I need to use EmbeddedSolrServer. I am
getting following error while initializing the coreContainer

Exception in thread "Thread-15" java.lang.NoClassDefFoundError: Could not
initialize class org.apache.lucene.codecs.Codec
     at
org.apache.solr.core.SolrResourceLoader.reloadLuceneSPI(SolrResourceLoader.java:186)
     at
org.apache.solr.core.SolrResourceLoader.<init>(SolrResourceLoader.java:122)
     at
org.apache.solr.core.SolrResourceLoader.<init>(SolrResourceLoader.java:236)
     at org.apache.solr.core.CoreContainer.<init>(CoreContainer.java:136)

In my case, I create a osgi bundle for solr. when I check the bundle, class
is in the bundle.

Set dependencies added ,

         <dependency>
             <groupId>org.apache.solr</groupId>
             <artifactId>solr-solrj</artifactId>
             <version>4.7.2</version>
         </dependency>
         <dependency>
             <groupId>org.apache.solr</groupId>
             <artifactId>solr-core</artifactId>
             <version>4.7.2</version>
         </dependency>

          <dependency>
             <groupId>org.apache.lucene</groupId>
             <artifactId>lucene-analyzers</artifactId>
             <version>3.6.2</version>
         </dependency>
          <dependency>
             <groupId>org.apache.lucene</groupId>
             <artifactId>lucene-highlighter</artifactId>
             <version>4.7.2</version>
         </dependency>
         <dependency>
             <groupId>org.apache.lucene</groupId>
             <artifactId>lucene-memory</artifactId>
             <version>4.7.2</version>
         </dependency>
          <dependency>
             <groupId>org.apache.lucene</groupId>
             <artifactId>lucene-queries</artifactId>
             <version>4.7.2</version>
         </dependency>
          <dependency>
             <groupId>org.apache.lucene</groupId>
             <artifactId>lucene-snowball</artifactId>
             <version>3.0.3</version>
         </dependency>
          <dependency>
             <groupId>org.apache.lucene</groupId>
             <artifactId>lucene-misc</artifactId>
             <version>4.7.2</version>
         </dependency>
          <dependency>
             <groupId>org.apache.lucene</groupId>
             <artifactId>lucene-spellchecker</artifactId>
             <version>3.6.2</version>
         </dependency>
          <dependency>
             <groupId>org.apache.lucene</groupId>
             <artifactId>lucene-core</artifactId>
             <version>4.7.2</version>
         </dependency>
         <dependency>
             <groupId>org.apache.lucene</groupId>
             <artifactId>lucene-codecs</artifactId>
             <version>4.7.2</version>
         </dependency>

Code:

         CoreContainer coreContainer = new CoreContainer(solrHome.getPath());
         coreContainer.load();
         this.server = new EmbeddedSolrServer(coreContainer, "");

Could not find the wrong.
Please help me.

Thanks
Danesh


Reply via email to