2017-09-25 2 views
1

Ich verwende FOP (Version 2.3.0). Wenn ich versuche, die spanischen Muster zu kompilieren ich von offo läuft ant jar-hyphenation heruntergeladen, erhalte ich nächste Fehler:FOP-Silbentrennung kann keine spanischen Muster erstellen

compile-hyphenation: 
[java] Processing /home/pf/MEGA/prg/java/fop/trunk/fop/hyph/es.xml 
[java] Exception in thread "main" java.lang.StackOverflowError 
[java]  at org.apache.fop.hyphenation.TernaryTree.insert(TernaryTree.java:180) 
[java]  at org.apache.fop.hyphenation.TernaryTree.insert(TernaryTree.java:244) 

Und die letzte Zeile der Ausgabe wird ein zig Male wiederholt.

Andere Muster werden ohne Probleme kompiliert, aber wenn ich die spanischen einschließe, stürzt der Build-Prozess ab. Um sicher zu sein, dass die Datei nicht beschädigt war, habe ich eine neuere Version von es.xml heruntergeladen, aber die ants stürzt immer noch ab.

Antwort

1

Auf https://issues.apache.org/jira/browse/FOP-2569, fand ich die Lösung:

The recursion at org.apache.fop.hyphenation.TernaryTree.insert(TernaryTree.java:244) is correct, but it requires more stack size. Fix:

>diff build.xml~ build.xml 
184c184 
< <property name="hyph.stacksize" value="512k"/> 
— 
> <property name="hyph.stacksize" value="1M"/> 

Der Build-Prozess nur einen größeren Stack benötigt. Die zu ändernde Datei build.xml befindet sich im übergeordneten Verzeichnis des hyph-Verzeichnisses. Ich habe den Stack erhöht und konnte einfach alles kompilieren.