Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 马文·苏雷费尔布特_Maven_Jenkins - Fatal编程技术网

Maven 马文·苏雷费尔布特

Maven 马文·苏雷费尔布特,maven,jenkins,Maven,Jenkins,我正在使用Jenkins在Maven 3上构建我的项目。 定义了约15个工作岗位。它们整天都在运行onCommit或cron表达式(主要是每小时一次)。有些作业正在使用声纳(XXXDailyBuild不是) 有时我会遇到错误: [错误]无法执行目标org.apache.maven.plugins:maven clean plugin:2.4.1:clean(默认清理)对项目xxx:未能清理项目:未能删除E:\CI\data\jobs\XXXDailyBuild\workspace\xxx\xxx

我正在使用Jenkins在Maven 3上构建我的项目。 定义了约15个工作岗位。它们整天都在运行onCommit或cron表达式(主要是每小时一次)。有些作业正在使用声纳(XXXDailyBuild不是)

有时我会遇到错误:

[错误]无法执行目标org.apache.maven.plugins:maven clean plugin:2.4.1:clean(默认清理)对项目xxx:未能清理项目:未能删除E:\CI\data\jobs\XXXDailyBuild\workspace\xxx\xxx\target\surefire\surefirebooter800437136279346171.jar->[帮助1]

这是由surefirebooter8004371362793469171.jar的活动java进程锁定Jenkins工作区造成的

Jenkins作业在禁用“必要时执行并发生成”的情况下运行。 任何其他作业/流程都不使用“XXXDailyBuild”工作区

我在想到底发生了什么。
有没有办法转储正在运行的'surefirebooter8004371362793469171.jar'进程来分析它们的堆

问题已被调查:

  • 我们的应用程序通过surefirebooter maven插件jar运行JUnit测试
  • 每个测试都需要新的模型状态
  • 在模型初始化期间,旧模型状态被释放,新模型状态被初始化 一些模型启动线程,例如目录观察程序
  • 根本问题是: 1.当某些测试在步骤3中失败时。旧型号的状态不被处理 这样一些线程就不会停止(在每次测试失败时重复)

    使用jvisualvm工具很容易检查它

    最后,在maven测试运行之后,流程将永远保持活动状态


    希望本文的分析能对大家有所帮助

    不知道根本原因和解决方法。但是,您可以从任务管理器(在Windows中)杀死java.exe。此java.exe持有surefirebooter.jar文件的锁。杀死java.exe将释放该锁,您将能够运行Maven构建。

    surefirebooterxxx.jar被Maven用来运行一些单元测试。当另一个构建启动时,这个jar仍然在使用,这表明上一个构建上次没有正确地终止(可能已经中断)。