2

興味深い問題があります。build.xml要素を介してJUnitテスト(50のテストで構成されるテストスイート)を実行するAntを使用しています。問題は、OutOfMemoryErrorを受け取ることです。

ANT_OPTS引数を使用してヒープスペースを拡大しましたが、役に立ちませんでした。Eclipseで同じテストスイートを実行すると(すべて問題ありません)、GCのおかげでメモリが解放されます。

この問題はAntとそのJUnitタスクに関連していると思います。

たぶん、テストのログが理由です(しかし、一方で、私はprintsummary = "false"を持っています、[たぶんoutputtoformattersもfalseに設定する必要があります???])。

私の2番目の推測は、TEST ***。xmlファイル(テストの最後に生成された)がメモリに保持され、テストの最後にフラッシュされるということです。そのファイルにあるログを減らす方法はありますか?

みんな、手がかりを教えてください。

4

3 に答える 3

1

要約すると、問題の根本はロギングでした。ログはストリームに送信され、フラッシュされませんでした。ログをオフに切り替えた後、すべてが正常でした。

于 2012-09-11T12:27:32.773 に答える
1

junit タスクで maxmemory 属性を設定する必要があります。Ant のドキュメントを参照してください。

于 2012-08-10T22:18:33.427 に答える
0

デフォルトでは、フォーク モードはオフになっています。fork モードをオンにして forkmode を pertest に設定して試してください

于 2012-08-11T03:05:43.203 に答える