5

SimpleTemplateEngineまたはGStringTemplateEngineを使用して 65535 文字を超えるテンプレートを処理するにはどうすればよいですか?

次のエラーが表示されます。

groovy.lang.GroovyRuntimeException: テンプレート スクリプトの解析に失敗しました (テンプレートにエラーが含まれているか、現在サポートされていない式を使用しようとしている可能性があります): 起動に失敗しました: SimpleTemplateScript1.groovy: 5614: 文字列が長すぎます。指定された文字列は 198495 Unicode コード単位の長さですが、最大 65535 までしか許可されていません。

次のコードを使用してテンプレートを作成しています。

def templateEngine = new SimpleTemplateEngine()
def binding = [:]
templateEngine
    .createTemplate(new FileReader("input.txt))
    .make(binding)
    .writeTo(new FileWriter(new File("output.txt")))

この問題に関連するJIRA 3487を見つけました: GStringTemplateEngine fails to work with >64K strings

入力をチャンクすることを考えましたが、式の途中で中断しないようにするなど、独自の複雑さが生じます。

他の提案をいただければ幸いです。

4

2 に答える 2