gpt4 book ai didi

java - 如何在 OS X 上全局设置 java 系统属性?

转载 作者:搜寻专家 更新时间:2023-10-30 21:44:00 26 4
gpt4 key购买 nike

短篇小说

我需要一种系统级方法来将 java.awt.headless 属性设置为 true 所有 java 调用 .也就是说,使用 -Djava.awt.headless=true 不是一个选项,因为 java 是从我无权访问的地方调用的(例如,从另一个用 Java/C/编写的工具中)等等)

说来话长

我正在使用一系列依赖于 AWT 类的用 Java 编写的工具(特别是 Adob​​e 的 Air ADT)。当我在控制台上运行这些工具时,它们工作正常。但是,当我从 SSH session 运行它们时,它们会失败并显示 java.lang.InternalError: 无法连接到窗口服务器 - 没有足够的权限。谷歌搜索我发现将 java.awt.headless 设置为 true 将解决问题。它不会,那是因为 ADT 本身生成子 Java 进程没有 -Djava.awt.headless=true

是否有任何系统级方法来确保在调用 Java 时设置此属性?也许是一些系统 awt 属性文件或等效文件?

最坏的情况我可以尝试用将此参数添加到 "$@" 的 shell 脚本替换 /usr/bin/java 但我希望避免那。 (更新:为了确保我的理论是正确的,尝试了这个 shell 脚本 hack,它确实解决了问题。只是希望有一个更清晰的解决方案)

最佳答案

使用 _JAVA_OPTIONS 而不是 JAVA_OPTS_JAVA_OPTIONS 将在您运行 java 时自动选取。

export _JAVA_OPTIONS=-Djava.awt.headless=true
adt ...

我知道这在 OS X 上是正确的。 This表明这也适用于 Windows 和 Linux。

关于java - 如何在 OS X 上全局设置 java 系统属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10627405/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com