我的Jenkins环境是一个Master+一个slave,Job的执行主要由slave来进行。Master只负责调度。

slave上安装有JDK7、JDK8。slave agent用的是java web start 启动 jnlp 的方式运行起来的。

这次遇到的问题是:有几个maven job在运行到arquilian test这一步的时候,slave上需要启动JBoss AS 7.2.0.Final服务器来跑arquilian test包,但是一直启动不起来,JBoss也不报错。最后Arquilian test会因为任务超时而宣告失败。

经过一列的排查之后,我发现导致问题的原因是JBoss与JDK不兼容。JBoss AS 7.2.0.Final只能与JDK7一起运行,不能用JDK8。如果用了JDK8,那么JBoss在启动到一半时,就会卡在那里,什么提示都没有。Arquilian test的arquilian.xml配置文件中可以显式指定JBoss容器使用什么版本的JDK。但是,由于项目组成员每个人的JDK7安装目录不尽相同,所以我们把JDK path设置从arquilian.xml文件中移除了。这时问题就来了,从arquilian.xml文件中移除了JDK相关设置之后,在slave机器上启动slave-agent.jnlp时如果用的是JDK8的runtime,那么在slave-agent执行arquilian test步骤时,就会默认使用JDK8的runtime来启动JBoss AS 7.2.0.Final。这样一来,就会导致JBoss AS 7.2.0.Final启动失败。

鉴于arquilian.xml文件中不能强制指定使用JDK7,所以在slave机器上,我们只要使用JDK7 runtime来启动slave-agent.jnlp就可以了。

最新文章

  1. redis 操作 list 的测试
  2. 扩展 jquery miniui 组件实现自动查询数据
  3. CAR
  4. 腾讯web前端笔试题及个人答案
  5. 利用HTML5的Video进行视频截图并保存到本地
  6. Android 设计模式 之 观察者模式
  7. JAVA作业-1
  8. Android 线程Thread的2种实现方法
  9. Netty4.x中文教程系列(一) Hello World !
  10. js中arguments的应用
  11. 【回忆1314】第一次用AngularJS
  12. ThinkPHP 的模型使用详细介绍--模型的核心(七)
  13. python xml.dom模块解析xml
  14. [LeetCode] Contain Virus 包含病毒
  15. Nlog 简单的快速攻略
  16. zabbix在运维方面的监控方法小结
  17. Vue.js组件遇到的那些坑
  18. ASP.NET CheckBoxList 控件实现全选、反选、清除功能 利用js
  19. bootstrap中点击左边展开
  20. CSS实现三角形、梯形、平行四边形、圆形、椭圆形、对话框、自适应正方形

热门文章

  1. MySQL子查询subquery
  2. 403 for URL: http://www.terracotta.org/kit/reflector
  3. 【C语言】-指针和字符串
  4. Java String StringBuilder StringBuffer
  5. Java 二叉树一些基本操作
  6. input输入时软键盘回车显示搜索
  7. Hibernate 一对一映射(惟一外键)
  8. RPA流程自动化-UIPath简介
  9. SQL拼接 html 发送
  10. group by 语句