You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JBoss重启时Jenkins报java.util.logging.ConsoleHandler未定义错误

问题根因

Handler java.util.logging.ConsoleHandler is not defined报错、构建持续挂起是两个配置错误共同导致的,和JBoss本身服务无关:

  • 你自行添加的项目级日志配置存在语法错误,且放置位置不对。JBoss EAP 7.2本身有独立的服务器级日志配置规则,应用WAR包内自带的logging.properties会被优先加载,覆盖服务器默认配置。你写的handlers = java.util.logging.ConsoleHandler.level= INFO完全不符合java.util.logging配置语法:handlers配置项仅接受Handler类名列表,日志级别是独立配置项,加载时自然找不到对应定义的Handler。
  • Jenkins中写的JBoss启动命令存在缺陷,没有让JBoss进程完全脱离构建shell的IO上下文与作业控制:既没有重定向标准输入、标准错误流,也没有将进程从当前shell的作业列表中剥离,导致JBoss JVM直接继承了Jenkins代理进程的JUL日志配置,同时进程的输出句柄被Jenkins持续持有,构建进程永远等不到流关闭信号,就会一直挂起。你在pom中添加Logback依赖无法解决问题,是因为这个报错出现在JBoss服务器启动的早期阶段,还没到加载应用内日志实现的步骤。
修复步骤

按以下顺序操作即可解决问题:

1. 清理无效错误配置

  • 删除项目src/main/resources目录下你自行创建的logging.properties文件,不要在WAR包内自带JUL配置文件,避免覆盖JBoss服务器本身的正确日志配置。
  • 如果没有特殊需求必须在应用内使用Logback,直接删掉pom.xml中添加的两个Logback依赖;如果确实要使用Logback作为应用日志实现,需要给两个依赖添加<scope>provided</scope>标记,同时在WEB-INF目录下新增jboss-deployment-structure.xml文件排除JBoss自带的日志子系统依赖,避免日志实现冲突。

2. 替换Jenkins中的JBoss启动命令

原命令没有完成进程与会话的完全剥离,替换为以下内容:

cd /apps/jboss-eap-7.2/bin
# 先终止之前卡住的JBoss进程,避免端口、文件锁占用
if pgrep -f "jboss-eap-7.2/standalone" > /dev/null; then
  ./jboss-cli.sh --connect command=:shutdown > /dev/null 2>&1
  sleep 10
  pkill -9 -f "jboss-eap-7.2/standalone" > /dev/null 2>&1
fi

# 启动时显式指定JBoss自带的日志配置文件,重定向所有IO流,完全脱离当前shell控制
nohup ./standalone.sh -c standalone-full.xml -b 0.0.0.0 -Djboss.as.management.blocking.timeout=5000 -Djava.util.logging.config.file=/apps/jboss-eap-7.2/standalone/configuration/logging.properties > nohup.out 2>&1 < /dev/null &
disown

命令关键调整点:

  • 新增2>&1 < /dev/null完成标准错误、标准输入流的重定向,彻底断开JBoss进程和Jenkins控制台的IO句柄绑定
  • 新增disown命令将JBoss进程从当前shell的作业列表中移除,不会因为构建shell退出导致进程被挂起
  • 启动参数中显式指定JBoss服务器自身的logging.properties路径,强制JVM加载服务器级正确日志配置,避免继承Jenkins代理进程的JUL配置,从根源解决ConsoleHandler未定义的报错。

3. 启动校验

执行完启动命令后,查看nohup.out日志,如果没有JUL相关报错,等待30秒左右访问JBoss服务端口、管理端口验证服务正常即可,此时Jenkins构建不会再持续挂起。

提示:如果需要自定义应用日志规则,直接通过JBoss管理控制台的日志子系统配置即可,不要在应用包内自带全局JUL配置文件,否则每次部署都可能出现日志配置冲突。

内容的提问来源于stack exchange,提问作者vijaya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 03:24:29