【问题标题】:Prevent java app name from appearing in menu bar and process dock on Mac防止 java 应用程序名称出现在 Mac 上的菜单栏和进程停靠中
【发布时间】:2013-04-01 21:19:16
【问题描述】:

我正在从 java 应用程序(也是无头可运行 jar)启动一个可运行的 jar。 尝试了Runtime.getRuntime().exec()ProcesBuilder 方法。该过程启动得很好,但是在 Mac ( 10.6 ) 上,它显示了我在主菜单栏中启动的 jar 的名称,并且还放入了 Dock 有没有办法防止这种情况发生?有趣的是,如果您从命令行使用 java -jar 启动 jar,则 jar 名称不会出现在菜单栏或进程停靠栏中。 有任何想法吗? 谢谢 安迪

【问题讨论】:

标签: java macos


【解决方案1】:

要全局启用它而不是向每个进程添加选项,请在 .bashrc/.zshrc 启动脚本中像这样设置 JAVA_TOOL_OPTIONS 变量。

export JAVA_TOOL_OPTIONS='-Djava.awt.headless=true'

参考这里:

http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/envvars.html

【讨论】:

  • 并非所有 Java 应用程序都尊重JAVA_OPTS,当他们这样做时,是因为应用程序的启动器 shell 脚本中有代码来处理它。 JAVA_OPTS 设置不会影响您直接使用 java -jar 运行的任何内容,或者当您在 Finder 中双击 JAR 文件时。
  • 我更正了它并验证了它的工作原理。感谢您的反馈。
【解决方案2】:

你在传递java.awt.headless=true吗?尝试将此添加到您的流程中:

java -Djava.awt.headless=true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 2014-08-05
    • 2017-05-23
    相关资源
    最近更新 更多