59

升级到 OSX 10.8.4 后,后台 Java 进程开始在 Dock 中放置一个 Java Cup 图标。它会导致当前活动窗口失去焦点,这在运行一些分叉许多短期运行 Java 进程(无头)的脚本时非常烦人。文件菜单(屏幕顶部苹果符号旁边将显示 Java 正在运行的类文件的名称,例如 org.apache.hadoop.util.RunJar)。

由于我没有明确启动这些 Java 命令,因此我尝试将 alias java="java -Djava.awt.headless=true" 放在 .profile 中,但这似乎没有帮助。

有没有人遇到过这个并知道如何解决它?

谢谢你。

4

4 回答 4

64

就像@EGHM 说的那样,它是-Dapple.awt.UIElement=true,但没有引号。至少它对我有用(OS X 10.7.5)。

如果你碰巧使用的是 Eclipse,你可以在 Preferences → Installed JREs 中全局添加这个 JVM 参数:

在此处输入图像描述

于 2013-07-09T09:09:10.763 回答
17

就像@EHGM 和@Nelson 指出的那样,-Dapple.awt.UIElement=true需要将其作为参数添加到JVM。

JAVA_TOOL_OPTIONS您可以通过将其添加到环境变量中,为从命令行(或 shell)启动的所有 java 应用程序全局设置它。

export JAVA_TOOL_OPTIONS="-Dapple.awt.UIElement=true"

您可以将导出语句添加到您的$HOME/.bashrc或与您正在使用的 shell 相关的任何启动脚本中。

于 2015-12-16T22:37:38.763 回答
9

试试 -Dapple.awt.UIElement="true"

于 2013-07-04T04:46:14.160 回答
6

您还可以将语句放入项目级或全局gradle.properties文件中

systemProp.apple.awt.UIElement=true
于 2017-03-19T01:35:58.830 回答