2017-03-24 14 views
3

wikixmljを使用してwikipedia xmlダンプを解析していて、次のエラーが表示されます。エラー:wmlixmljを使用してXMLファイルを解析中にxml.sax.SAXParseExceptionが発生する

org.xml.sax.SAXParseException; lineNumber: 64243259; columnNumber: 371; JAXP00010004: The accumulated size of entities is "50,000,001" that exceeded the "50,000,000" limit set by "FEATURE_SECURE_PROCESSING". 
     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1239) 
     at edu.jhu.nlp.wikipedia.WikiXMLSAXParser.parse(WikiXMLSAXParser.java:58) 
     at edu.virginia.cs.wikirarchy.ParseWikiPage.run(ParseWikiPage.java:36) 
     at java.lang.Thread.run(Thread.java:745) 

ので、エラーのこの部分は、メインです:

The accumulated size of entities is "50,000,001" that exceeded the "50,000,000" limit set by "FEATURE_SECURE_PROCESSING".

私は、この問題の解決策を見つけることができません。

答えて

3

Javaコマンドを実行中にさらに3つの引数を追加すると、私の問題が解決しました。

-DentityExpansionLimit=2147480000 -DtotalEntitySizeLimit=2147480000 -Djdk.xml.totalEntitySizeLimit=2147480000

今、私は次のコマンドでコードを実行しています。

nohup java -DentityExpansionLimit=2147480000 -DtotalEntitySizeLimit=2147480000 -Djdk.xml.totalEntitySizeLimit=2147480000 -Xmx16g -cp "lib/*.jar" -jar dist/WikiRarchy.jar 32 &

問題は、デフォルトのセキュア処理によりbecause-発生したが5000万にエンティティの数を制限し、この膨張限界は、エンティティ拡張を制御します。

関連する問題