この質問には裏づけが必要です。私の会社では、一連のPDFとHTMLファイルを作成しています。 A 非常に大きいが設定されています。現在のビルドプロセス(私が急いで設計したもの)は、一連のファイルを読み込むPerlスクリプトで、各ファイルには新しいantコマンドが含まれています。execはAnt OutOfMemoryの問題に適したプログラミングソリューションですか?
ひどく設計されています。
ここでは、大半のタスクでプロジェクト全体をantを使用して移動しようとしています。ターゲット内で、ビルドする必要のあるファイルのリストを、PDFまたはHTMLのいずれかとして作成できます。しかし、私がantコマンドを呼び出して各ファイルをビルドすると、約3回のビルド(例えば5回)の後、プロセス全体がOutOfMemoryエラーでクラッシュします。さらに、私のbuildlog.xmlは20メガのようなものになってしまいます。一つのターゲットから呼び出されているので、すべてのantコマンドの出力を一つの巨大なログに連結します。これまでのPerlソリューションでは、各antコマンドのbuildlog.xmlを取得できました。単にbuildlogを保存して別の名前に変更するだけでした。
私のuser.propertiesにantまたはjavaヒープサイズを設定しても、結局OOMで失敗します。 <exec>
に電話して、私が記述したもののいくつかを実行するスクリプトを起動するかどうかは疑問です。つまり、antを呼び出し、buildlogの名前を変更し、理論的にスペースを1つの "巨大な"コール。私は、明確に定義されている問題に対して別の「ハッピー」な解決策を見出し、完全にantに限定することができると心配しています。その後、再び、<exec>
はが存在するので、それを使用することに悪くないでしょうか?