我已經編寫了一個程序,它使用Lucene爲刮板文本匹配地址。當它建成並通過命令行運行時已經編譯和運行,但一切都運行在NetBeans很好,我收到以下內容:在運行時使用Lucene的NoClassDefFoundError IndexableField
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/lucene/index/IndexableField
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
我發現,該類IndexableField.class是不是在任何廣口瓶所以我不知道爲什麼它首先能夠正常工作,更不用說爲什麼它在終端上生成並運行後無法使用。
你有隱藏在某處的任何與lucene相關的jar嗎?在IDE中運行Java應用程序(如NetBeans或Eclipse)很簡單cuz ** Classpath **由IDE自動計算出來。所以基本上你需要做兩件事。 1.搜索諸如** lucene之類的jar - *。jar **; 2.當通過命令行運行應用程序時,需要先設置類路徑** javac -cp ** – spiritwalker 2013-02-18 02:24:34
命令行可能與NetBeans有不同的類路徑,IndexableField.class應該位於Lucene-core.jar中。 – Joe 2013-02-18 02:25:11
乾杯傢伙。 IndexableField出於某種原因不在覈心jar中。已經下載了預編譯版本(我從源碼開始構建),現在工作正常。 – 2013-02-18 03:28:29