日期:2014-05-16  浏览次数:20786 次

Java打包jar,生成bat文件 Lorg/apache/lucene/document/Field;)V
首先,进入命令行格式,进入classpath路径;(我的程序是org.zhangpeng.adapter.AdapterDemo01.calss);

输入命令:jar cvf ada.jar org 这样就在路径下生成了一个jar文件,但这个文件还不能运行;

接着,用win解压jar文件,找到META-INF文件夹中的MANIFEST.MF,用文本打开,在里面添加一行:Main-Class: org.zhangpeng.adapter.AdapterDemo01(回车),注意在Main-Class:后一定要加一个空格,句子结束后回车;然后将这个文件拷贝到与org文件夹同一个根目录下;

输入命令:jar umf MANIFEST.MF ada.jar这样就生成了可执行的jar文件;

输入命令:java -jar ada.jar 就可以在命令行格式下看到运行结果了;

但这样在Windows窗口下双击ada.jar文件是不可以直接运行的,这就要我们生成一个bat文件;在根目录下,建立一个ada.bat文件,编辑添加以下语句:

cd d:\java_code //CALSSPATH路径,也是我的文件所在路劲
java -jar ada.jar
pause

这样双击ada.bat文件就可以看到运行结果了


Exception in thread "main" java.lang.NoSuchMethodError: org.apache.lucene.document.Document.add(Lorg/apache/lucene/document/Field;)V
at org.pdfbox.searchengine.lucene.LucenePDFDocument.addUnindexedField(LucenePDFDocument.java:224)
at org.pdfbox.searchengine.lucene.LucenePDFDocument.convertDocument(LucenePDFDocument.java:265)
at org.pdfbox.searchengine.lucene.LucenePDFDocument.getDocument(LucenePDFDocument.java:377)
at test.test.PdfLuceneTest.main(PdfLuceneTest.java:26)
老报这个错误是怎么回事啊?

以下为sam的回复:
lucene版本太高就会, 我试过了, 用lucene-core-2.2.0就会有这问题. 改用lucene-core-2.0.0就可以了