I have a project that requires Lucene ( 4.3.0 ) and add the following dependencies: Lucene-core, Lucene-parsers-general, Lucene-queries, Lucene-queryparser.
And, after adding the lucene-codecs dependency, also get the same error.
but the lucene-core core contains a codec class
----- start of exception -----
I/TestRunner(2443): java.lang.NoClassDefFoundError: org/apache/lucene/codecs/Codec I/TestRunner(2443): at org.apache.lucene.index.LiveIndexWriterConfig.<init>(LiveIndexWriterConfig.java:118) I/TestRunner(2443): at org.apache.lucene.index.IndexWriterConfig.<init>(IndexWriterConfig.java:144) I/TestRunner(2443): at com.my.search.SearchIndexManager.newWriter(SearchIndexManager.java:301) I/TestRunner(2443): at com.my.search.SearchIndexManager.addIndexState(SearchIndexManager.java:95) I/TestRunner(2443): at com.my.SearchOperation.addIndexer(SearchOperation.java:68) I/TestRunner(2443): at com.my.test.SearchOperationTest.testSearchWithFilter(SearchOperationTest.java:208) I/TestRunner(2443): at java.lang.reflect.Method.invokeNative(Native Method) I/TestRunner(2443): at java.lang.reflect.Method.invoke(Method.java:511) I/TestRunner(2443): at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214) I/TestRunner(2443): at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199) I/TestRunner(2443): at junit.framework.TestCase.runBare(TestCase.java:134) I/TestRunner(2443): at junit.framework.TestResult$1.protect(TestResult.java:115) I/TestRunner(2443): at junit.framework.TestResult.runProtected(TestResult.java:133) I/TestRunner(2443): at junit.framework.TestResult.run(TestResult.java:118) I/TestRunner(2443): at junit.framework.TestCase.run(TestCase.java:124) I/TestRunner(2443): at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190) I/TestRunner(2443): at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175) I/TestRunner(2443): at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555) I/TestRunner(2443): at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1584) I/TestRunner(2736): Caused by: java.lang.IllegalArgumentException: A SPI class of type org.apache.lucene.codecs.Codec with name 'Lucene42' does not exist. You need to add the corresponding JAR file supporting this SPI to your classpath.The current classpath supports the following names: [] I/TestRunner(2736): at org.apache.lucene.util.NamedSPILoader.lookup(NamedSPILoader.java:109) I/TestRunner(2736): at org.apache.lucene.codecs.Codec.forName(Codec.java:95) I/TestRunner(2736): at org.apache.lucene.codecs.Codec.<clinit>(Codec.java:122) I/TestRunner(2736): ... 19 more
----- end exception -----
source share