You need to enable JavaScript to run this app. 如何运行Open Liberty且不启用ws-javaagent.jar Java代理(含Docker场景)
优惠活动
大模型
产品
解决方案
定价
更多

如何运行Open Liberty且不启用ws-javaagent.jar Java代理(含Docker场景)

Open Liberty 跳过默认ws-javaagent加载的实现方法

该默认加载wlp/bin/tools/ws-javaagent.jar的配置,是Open Liberty为支撑配置热更新、应用热加载能力内置的默认JVM参数,可根据不同运行场景通过以下方式跳过加载:

官方Docker镜像场景的跳过方法

  • 官方Docker镜像默认会把加载ws-javaagent的参数写入JVM_ARGS环境变量,启动容器时可以直接覆写这个环境变量,移除代理加载配置
  • 直接跳过代理的示例启动命令:
    docker run -e JVM_ARGS="" -p 9080:9080 open-liberty:kernel-java17-openj9
    给JVM_ARGS赋值空值后,镜像原有内置的代理加载参数会被完全覆盖,不会触发ws-javaagent的自动加载
  • 注意不要通过叠加式的JVM参数变量(比如仅追加自定义参数的JAVA_OPTIONS)启动,这类方式不会抹除原有默认的代理加载配置,代理依然会生效
  • 如果是自定义构建的Open Liberty镜像,可以在Dockerfile中直接显式声明ENV JVM_ARGS="",从构建阶段移除默认的代理加载参数

本地/物理机部署场景的禁用方法

  • 定位到对应服务器实例的jvm.options配置文件,默认路径为<Open Liberty安装根目录>/usr/servers/<你的服务器实例名>/jvm.options
  • 删除或注释掉文件中所有包含-javaagent:<wlp安装路径>/bin/tools/ws-javaagent.jar的配置行
  • 启动服务器前检查最终生效的JVM参数列表:不管是环境变量传入的参数、启动脚本内置的参数、还是jvm.options里定义的参数,只要不存在指向上述ws-javaagent.jar路径的-javaagent配置,就不会加载该代理
  • 可以通过启动时添加-verbose:jni参数验证:在启动日志中检索ws-javaagent关键词,如果没有对应加载记录,就说明代理完全未生效

注意:禁用该代理后,Open Liberty内置的配置热更新、无需重启的应用类热替换能力会失效,后续修改服务器配置、替换应用包后,需要手动重启服务器才能让变更生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.02 10:06:04