【问题标题】:Running java with JAVA_OPTS env variable has no effect使用 JAVA_OPTS 环境变量运行 java 无效
【发布时间】:2011-01-01 22:48:14
【问题描述】:

在一个shell脚本中,我设置了JAVA_OPTS环境变量(启用远程调试和增加内存),然后我执行jar文件如下:

export JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Xms512m -Xmx512m"
java -jar analyse.jar $*

但似乎 JAVA_OPTS env 变量没有任何影响,因为我无法连接到远程调试,而且我看到 JVM 的内存没有变化。

可能是什么问题?

PS:我不能在java -jar analyse.jar $* 命令中使用这些设置,因为我在应用程序中处理命令行参数。

【问题讨论】:

    标签: java shell remote-debugging jvm-arguments


    【解决方案1】:

    您可以设置_JAVA_OPTIONS 而不是JAVA_OPTS。这应该在没有$_JAVA_OPTIONS 的情况下工作。

    【讨论】:

    • 这才是真正的答案。我四处寻找了几个小时才找到这个。
    • @Nerrve 特别为您安装了 Windows XP。工作正常。你确定你做的一切都正确吗?
    • 你也可以使用 JAVA_TOOL_OPTIONS (stackoverflow.com/questions/28327620/…)
    • @Hubbitus 您的建议似乎是正确的答案。你应该添加它
    • 我不能。我得到“琐碎的答案转换为评论”
    【解决方案2】:

    我不知道实际检查JAVA_OPTS 环境变量的任何JVM。通常这用于启动 JVM 的脚本中,他们通常只是将其添加到 java 命令行中。

    这里要理解的关键是java 的参数-jar analyse.jar 位之前只会影响JVM,不会传递到你的程序。因此,将脚本中的 java 行修改为:

    java $JAVA_OPTS -jar analyse.jar $*
    

    应该“正常工作”。

    【讨论】:

    • 查看 HEX 的回答。这就是您在 OS X 上使用环境变量设置选项的方式。
    猜你喜欢
    • 2011-07-11
    • 2015-02-02
    • 2020-07-16
    • 2018-07-11
    • 2016-01-28
    • 2016-08-11
    • 2013-07-23
    • 2019-02-17
    相关资源
    最近更新 更多