Maven surefirebooter

Paw*_*ęba 5 maven jenkins

我正在使用Jenkins在Maven 3上构建我的项目.定义了约15个作业.他们整天都在使用Commit或cron表达式(大多数每小时一次).有些工作正在使用声纳(XXXDailyBuild not).

有时我遇到错误:

[错误]无法执行目标org.apache.maven.plugins:maven-clean-plugin:2.4.1:项目xxx上的clean(default-clean):无法清理项目:无法删除E:\ CI\data\jobs\XXXDailyBuild\workspace\XXX\xxx\target\surefire\surefirebooter8004371362793469171.jar - > [帮助1]

它是由surefirebooter8004371362793469171.jar的活动java进程锁定Jenkins工作区引起的

Jenkins作业运行时禁用"必要时执行并发构建".任何其他作业/流程都不使用"XXXDailyBuild"工作区.

我想弄清楚发生了什么.有没有办法转储运行'surefirebooter8004371362793469171.jar'进程来分析他们的堆?

Paw*_*ęba 9

问题已被调查:

  1. 我们的应用程序通过surefirebooter maven插件jar运行JUnit测试
  2. 每个测试都需要新模型状态
  3. 在模型初始化期间,处理旧模型状态并初始化新的一些模型启动线程即.目录观察者

根问题是:1.当某个测试在步骤3中失败时,旧模型状态不会被处理,这样一些线程不会停止(每次测试都会重复失败)

使用jvisualvm工具很容易检查它.

最后,在maven测试运行过程永远保持活跃.

希望这个分析能帮助别人!