我有一个项目需要的Lucene(4.3.0),并添加以下dependenies: Lucene的核心,的Lucene分析仪常见,lucene-查询的Lucene QueryParser的。java.lang.NoClassDefFoundError:组织/阿帕奇/ Lucene的/编解码器/解码器
而且,在添加lucene-codecs依赖项之后,也会得到相同的错误。
但是,Lucene的核心jar包含编解码器class
开始----- -----例外
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
-----结束例外--- -
已标记为您在Eclipse中导出的依赖项? – Desert
这是一个maven项目,编码在elcipse.all中可以编译。 但运行测试代码时出错。 – CHmoonKa