2013-07-04 15 views
5

私はJenkinsを使用してMaven 3でプロジェクトをビルドしています。 〜15個のジョブが定義されています。彼らは、毎日(ほとんどの場合、1時間に1回)コミットまたはクーロン式で実行されています。ソナー(XXXDailyBuild not)を使用しているジョブもあります。いつか私はエラーに直面していますMaven surefirebooter

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.4.1:clean (default-clean) on project xxx: Failed to clean project: Failed to delete E:\CI\data\jobs\XXXDailyBuild\workspace\XXX\xxx\target\surefire\surefirebooter8004371362793469171.jar -> [Help 1]

それは

surefirebooter8004371362793469171.jarジェンキンスジョブのアクティブなJavaプロセスによってロックされジェンキンスワークスペースによって引き起こされるが無効になって「必要に応じて同時ビルドの実行」で実行されます。 他のジョブ/プロセスは 'XXXDailyBuild'ワークスペースを使用しません。

私は何が起こっているのか把握しようとしています。 'surefirebooter8004371362793469171.jar'プロセスをダンプしてヒープを分析する方法はありますか?

+2

surefirebooterxxx.jarは、いくつかの単体テストを実行するためにmavenによって使用されます。他のビルドが開始されたときにこのjarが使用中であるという事実は、前回のビルドが前回終了しなかったことを示します(中断されている可能性があります)。 – lweller

答えて

7

問題が検討されています

  1. を当社のアプリケーションはsurefirebooterの達人でJUnitテストを実行されるすべてのテストがモデルの初期の古いモデルの状態の間、新鮮なモデル状態
  2. を必要とするjarファイル
  3. をプラグインに配置され、新鮮な を初期化されます一部のモデルはスレッドを開始します。

    いくつかのテストがステップに失敗した場合 1. 3.古いモデルは状態が 配置されていないと、一部のスレッドが停止されていないこの方法(すべてのテストに複製が失敗する):ディレクトリウォッチャー

根本的な問題があります

jvisualvmツールを使用してチェックするのは簡単でした。

最後に、テスト実行プロセスは永久にアクティブのままです。

この分析が役に立ったと思っています!