升级到 15.04 后,每次启动 Java 时都会出现消息

升级到 15.04 后,每次启动 Java 时都会出现消息

我刚刚升级到 15.04,发现在启动任何 Java 程序时,都会出现以下消息

Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar

打印到控制台(升级前没有发生过这种情况)。谷歌搜索后我才知道 Java Agent 是什么。现在:

  • 为什么会出现此消息?
  • 还有其他人观察到这个吗?
  • 可以禁用它吗?

答案1

此 PPA 用于获得 Unity AppMenu 和 HUD 对 NetBeans IDE、IntelliJ IDEA、Android Studio 等应用程序的支持,如下所述这里。因此,除非您想要这样做,否则您可以使用sudo apt-get remove jayatana(和作为堆栈溢出线程建议,删除/usr/share/upstart/sessions/jayatana.conf并重新启动计算机)。我不确定这是否是 15.04 默认安装的,因为它没有列在作者的回购

答案2

为什么会出现此消息?

显然,它报告环境变量 JAVA_TOOLS_OPTIONS 已设置。

还有其他人观察到这个吗?

是的,我看到了它并且也对此感到烦恼。

可以禁用它吗?

有几个网站建议卸载 jayatana,但我不愿意这样做,因为我真的不知道为什么 Ubuntu 在最新版本中安装了它。

答案3

如果你只想删除消息,你可以编辑你的$HOME/.bashrc(如果使用 bash)或$HOME/.profile并使用以下命令取消设置变量:

unset JAVA_TOOL_OPTIONS

这样,jayatana 仍然会存在,并且如果您从.bashrc/中删除未设置的 JAVA_TOOL_OPTIONS ,就可以再次启用它.profile

请注意,取消设置变量并不等同于将其设置为 null。如果按如下方式将其设置为 null,则在运行任何基于 Java 的应用程序时仍会看到一条消息:

JAVA_TOOL_OPTIONS=

答案4

这是因为 Jayatana,它被添加到 Ubuntu 15.04 中,以便为 Java Swing 应用程序启用全局菜单。您可以通过在终端中输入以下命令安全地删除此消息。此命令将删除 Jayatana 的自动启动配置。

sudo rm /usr/share/upstart/sessions/jayatana.conf

但是,删除此选项将禁用 Netbeans、IntelliJ IDEA 等 Java Swing 应用程序的全局菜单支持。我在本文中分享了在不丢失全局菜单的情况下抑制消息的解决方法:Java 应用程序的全局菜单支持

相关内容