Groovy, sagt mein Unicode-Zeichenfolge ist zu lang
Als Teil meiner wahrscheinlich falsch und umständlich Lösung drucken Sie ein Formular habe ich ein MS-Word-Dokument, als XML gespeichert und ich bin versucht zu speichern, die XML als eine groovy-string, so dass ich ${fillOutTheFormProgrammatically}
Jedoch mit MS-Word-Dokumente so groß ist wie Sie, wird die Zeichenfolge Betrag von 113 ' 100 unicode-Zeichen und Groovy, sagt seine auf 65536 beschränkt. Gibt es eine Möglichkeit, dies zu ändern, oder bin ich stecken mit der Teilung der saite?
Groovy - brauchen Sie, um eine druckbare form
Das ist, was ich versuche zu tun.
Update: um es klar zu lange von einem Groovy-String.. ich denke, dass eine regelmäßige Zeichenfolge könnte alles gut werden. Ändern Strategie und setzen einige Zeichenfolgen in der Datei kann ich leicht finden, wie die %!%variable_name%!% und dann tun .replace (..., äh, fühle ich eine neue Frage kommt auf hier...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie einbetten diese Zeichenfolge direkt in Ihre groovy-code? Die jvm selbst hat ein limit für die Länge von string-Konstanten finden Sie in der Die VM-Spec wenn Sie an details interessiert.
Einen hässlichen workaround könnte sein, die split die Zeichenfolge in kleinere Teile, und verketten Sie zur Laufzeit. Eine bessere Lösung wäre das speichern von text in eine externe Datei und liest den Inhalt aus dem code. Man könnte auch Paket diese Datei zusammen mit Ihrem code und greifen Sie von den classpath mit Class#getResourceAsStream.
Was Ausnahme sind Sie immer auf??? Ich glaube nicht, dass Groovy-String ist auf 65536 beschränkt, als es ist im Grunde ein Java-string.
Klingt für mich wie Sie versuchen, recurse irgendwo, und schlagen die 65536 call-stack-limit.
Dass gesagt wird jedoch, laden Sie ein 100K+ char in den Speicher in einem Rutsch scheint wie overkill..
Warum nicht Parsen der XML mit einem SAX-parser oder ähnliches, um die Ergebnisse aus?
Oder warum nicht speichern nur die Daten, die Sie benötigen, um mit zu beginnen, anstatt sich auf hunderds Tausende von chars von xml-Dokumenten (ich nehme an, Sie wollen nur ein kleiner Abschnitt)
-Xss
parameter für java verändern der Standard)...und tatsächlich, ich war falsch, es ist mehr als 65536 standardmäßig