我正在尝试将一个 bzipped wiki XML 转储导入我的本地 wiki 数据库。我正在使用一个名为MWDumper的工具来导入庞大的英文维基百科 XML 转储。在我真正尝试导入之前,一切似乎都运行顺利(似乎 MWdumper 已成功构建,等等)。我启动了我的服务器,然后运行了以下命令(这似乎是上面链接中 MWDumper 页面上建议的方法):
java -jar mwdumper-1.16.jar --format=sql:1.5 enwiki-latest-pages-articles.xml.bz2 |
mysql -u root -p my_wiki
然后我收到以下错误消息:
Exception in thread "main" java.io.IOException: Stream is not in the BZip2 format
at org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.init(BZip2CompressorInputStream.java:255)
at org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.<init>(BZip2CompressorInputStream.java:138)
at org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.<init>(BZip2CompressorInputStream.java:111)
at org.mediawiki.dumper.Tools.openBZip2Stream(Tools.java:42)
at org.mediawiki.dumper.Tools.openInputFile(Tools.java:28)
at org.mediawiki.dumper.Dumper.main(Dumper.java:124)
这似乎没有意义,因为我的文件 enwiki-latest-pages-articles.xml.bz2 似乎是正确的 bzip2 格式。(我不确定我的 Apache commons 压缩包是否正确导入,尽管我假设它是正确的,因为我认为否则我不会收到此错误消息。)
编辑:这个问题已经解决。我在 MWDumper wiki 页面上下载了 MWDumper 的第三方版本。建议:不要尝试从源代码构建 MWDumper——它缺少 2005 年以来大量分散的源文件;只需使用第三方 mwdumper.jar。