开发者社区 > 云原生 > 正文

JVM设置JAVA_TOOL_OPTIONS环境变量的实验效果

在JVM实验期间,遇到了一个场景,其中刀片JVM从JAVA_TOOL_OPTIONS变量中获取一些其他代理jar文件。我想知道目前是否有办法克服这个问题,比如在jvm prepare命令中覆盖上面提到的变量JAVA_HOME。

作为一个临时解决方案,通过在exec/jvm/sandbox.go中调用java代理之前放入空变量来解决这个问题

提问12.png

发生的问题

目标应用程序容器使用一些代理jar文件设置了JAVA_TOOL_OPTIONS,在创建jvm实验时,blade正在获取JAVA_TOOL_OPTIONS环境变量中提到的jar文件,而不是blade JAVA参数中提到的。

期待结果:绕过JAVA_TOOL_OPTIONS环境变量的方法。

如何复制(尽可能少且精确)

1、使用一些伪代理jar文件设置JAVA_TOOL_OPTIONS环境变量

2、运行JVM实验

原提问者GitHub用户anv-mga

展开
收起
码字王 2023-06-12 17:10:17 234 0
1 条回答
写回答
取消 提交回答
  • 这只会影响刀片命令的执行,而不会影响本地环境变量。我们之所以取消JAVA_TOOL_OPTIONS配置,是因为某些配置项会影响javaagent的加载,例如,如果在变量中添加了其他代理,则在同时加载代理时JVM将挂起。

    原回答者GitHub用户xcaspar

    2023-06-12 17:32:46
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
如何通过 Serverless 提高 Java 微服务治理效 立即下载
JVM的GC 立即下载
基于JVM的脚本语言开发、运用实践 立即下载