3

こんにちは、私はApache fopで作業していましたが、ページ数が約130ページを超えると、pdfを生成できませんでした....ページ数やxmlファイルの長さに制限はありますか...

Exception in thread "main" java.lang.OutOfMemoryError: Java heap

java.io.BufferedReader.(BufferedReader.java:80) のスペース java.io.BufferedReader.(BufferedReader.java:91) の org.apache.xml.dtm.ObjectFactory.findJarServiceProviderName(ObjectFac tory.java:579) のorg.apache.xml.dtm.ObjectFactory.lookUpFactoryClassName(ObjectFactory .java:373) org.apache.xml.dtm.ObjectFactory.lookUpFactoryClass(ObjectFactory.jav a:206) org.apache.xml.dtm.ObjectFactory.createObject (ObjectFactory.java:131)

        at org.apache.xml.dtm.ObjectFactory.createObject(ObjectFactory.java:101)

        at org.apache.xml.dtm.DTMManager.newInstance(DTMManager.java:135)
        at org.apache.xpath.XPathContext.reset(XPathContext.java:350)
        at org.apache.xalan.transformer.TransformerImpl.reset(TransformerImpl.ja
va:505)
        at org.apache.xalan.transformer.TransformerImpl.transformNode(Transforme
rImpl.java:1436)
        at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImp
l.java:709)
        at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImp
l.java:1284)
        at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImp
l.java:1262)
        at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:214)
        at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:125)
        at org.apache.fop.cli.Main.startFOP(Main.java:166)
        at org.apache.fop.cli.Main.main(Main.java:197)
4

1 に答える 1

3

数十万行の長さの xml から作成されたレポートを作成しました。ただし、svg で満たされた小さなレポートを作成する際に問題が発生しました。

あなたの問題はおそらく、Javaがデフォルトで32 MBのメモリしか割り当てないため(正しく思い出せば)、メモリが不足していることです。

fop.bat ファイル (Windows で実行していると仮定) に、次の設定を追加します。

rem 標準の Java VM ヒープ サイズを増やして、より大きなレポートが十分なメモリを取得できるようにします JAVAOPTS=-Xm512M を設定します

次のように実行行を変更します

"%JAVACMD%" %JAVAOPTS% %LOGCHOICE% %LOGLEVEL% -cp "%LOCALCLASSPATH%" org.apache.fop.cli.Main %FOP_CMD_LINE_ARGS%

これは少なくとも 0.95 で動作するはずです

于 2010-05-07T17:07:13.047 に答える