2016-04-12 8 views
0

Ich versuche, die neueste Version von Apache FOP zu verwenden, um PDFs zu erzeugen. Wenn ich dies jedoch mache, erhalte ich einen Fehler mit dem Rückkehrcode. Aus irgendeinem Grund gibt es jetzt "1" anstelle von "0" für den Prozess ausführen.Apache FOP Rückkehrcode 1 auf PDF Generation

ProcessBuilder processBuilder = new ProcessBuilder(commandWords); 
processBuilder.directory(fopFolder); 
processBuilder.redirectErrorStream(true); 
StringBuilder outputBuilder = new StringBuilder(); 
Process process = processBuilder.start(); 
exitCode = process.waitFor(); //Should return 0, actually returns 1 

Die Befehlsworte ich sind am vorbei ...

path -jar fop.jar -c configPath -fo {null} -pdf outputPath 

oder je nach Situation ...

path -Xms256m -Xmx{maxmemory} -jar fop.jar -c configFile -fo {null} -pdf outputPath 

Ich schaffte es auch später aus ihm diesen Fehler zu erhalten, die Ich vermute, dass das der Grund sein könnte. Ich werde später eine Antwort hinzufügen, wenn ich meine eigene Lösung finde.

Fehler bei der Initialisierung von VM Anfangsgröße Haufen auf einen größeren Wert als die maximale Speichergröße eingestellt

Jede Beratung zu diesem Thema sehr geschätzt wird, wenn Sie zusätzliche Informationen benötigen würde ich auch gerne um meine Frage zu aktualisieren, da ich mir nicht 100% ig sicher bin, welche Informationen benötigt werden, um dieses Problem zu beheben.

  • Java Version: 8
  • Apache FOP: 2,1
+0

möglicherweise im Zusammenhang mit http://stackoverflow.com/questions/35502100/apache-fop-fails-to-generate-pdf-with-latest-jre-update-java-8-update-73 – Sh4d0wsPlyr

Antwort

0

Nachdem wir weiter geforscht haben, betreiben wir einen Tomcat Server, der seinerseits Apache FOP startet. Der Speicher wurde knapp, weil die Parameter, die es analysieren wollte, falsch waren.

Wir haben das Setup neu installiert und stattdessen die folgenden zwei Änderungen an den FOP als Standard übergeben und es hat perfekt funktioniert. Wir glauben, dass der Standardwert entweder ungültig oder zu niedrig war, um den Prozess zu verarbeiten.

path -Xms256m -Xmx1024m -jar fop.jar -c configFile -fo {null} -pdf outputPath 
0

Dieses Problem mehr scheint wie ein allgemeines Java-Konfigurationsproblem als eine bestimmte FOP ein:

Fehler bei der Initialisierung VM Initial-Heap-Größe auf einen größeren Wert als die maximale Heap-Größe festgelegt

Dies bedeutet, dass die Initiale Java-Heap-Größe mit der Option -Xms festgelegt größer ist als die maximale Java-Heap-Größe mit der Option -Xmx angefordert.

Sie sollten den Wert Ihres {maxmemory} Parameters überprüfen und sicherstellen, dass es nicht weniger als 256m ist.