Apache Lucene 4.9.0类未找到错误

时间:2014-07-17 00:05:45

标签: java apache netbeans lucene

我  我将Apache Lucene 4.9与NetBeans 7.2一起用于桌面应用程序。 我创建了一个标准分析仪,因此想要使用分析仪  创建IndexWriterConfig。但他InexWriterConfig给出了一个未找到类的错误

这是代码段。

// create some index
              StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_4_9);
              System.out.println("index writer to be created1");
              IndexWriterConfig IWConfig = new IndexWriterConfig(Version.LUCENE_4_9,analyzer);

这是IDE提供的错误

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/lucene/codecs/sep/IntStreamFactory
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404)
    at java.lang.Class.getConstructor0(Class.java:2714)
    at java.lang.Class.newInstance0(Class.java:343)
    at java.lang.Class.newInstance(Class.java:325)
    at org.apache.lucene.util.NamedSPILoader.reload(NamedSPILoader.java:67)
    at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:47)
    at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:37)
    at org.apache.lucene.codecs.PostingsFormat.<clinit>(PostingsFormat.java:44)
    at org.apache.lucene.codecs.lucene40.Lucene40Codec.<init>(Lucene40Codec.java:52)
    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:525)
    at java.lang.Class.newInstance0(Class.java:372)
    at java.lang.Class.newInstance(Class.java:325)
    at org.apache.lucene.util.NamedSPILoader.reload(NamedSPILoader.java:67)
    at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:47)
    at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:37)
    at org.apache.lucene.codecs.Codec.<clinit>(Codec.java:41)
    at org.apache.lucene.index.LiveIndexWriterConfig.<init>(LiveIndexWriterConfig.java:125)
    at org.apache.lucene.index.IndexWriterConfig.<init>(IndexWriterConfig.java:171)
    at SearchEngine.Index.createIndexWriter(Index.java:88)
    at SearchEngine.Index.<init>(Index.java:57)
    at SearchEngine.SearchDB.searchDatabase(SearchDB.java:95)
    at wa_poly.MyJFrame.<init>(MyJFrame.java:47)
    at wa_poly.MyJFrame$5.run(MyJFrame.java:292)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:682)
    at java.awt.EventQueue$3.run(EventQueue.java:680)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:691)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.codecs.sep.IntStreamFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 41 more

任何人都可以帮助解决方案

1 个答案:

答案 0 :(得分:1)

IntStreamFactory类位于lucene-codecs-4.9.0.jar,包org.apache.lucene.codecs.sep。确保你的类路径中有这个jar。