如何抑制“拾取JAVA_TOOL_OPTIONS:-javaagent:/usr/share/java/jayatanaag.jar”消息

2022-09-04 03:20:57

我使用的是 Ubuntu 15.04 和 Java 1.7。更新到15.04后,每当我键入任何Java命令时,我都会收到如下消息:

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

例如:

hduser@ubuntu:~$ java -version
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

如何抑制此行为?


答案 1

我也升级到了Ubuntu 15.04,并遇到了同样的问题(虽然,我不觉得这是一个问题)。

$ echo $JAVA_TOOL_OPTIONS
-javaagent:/usr/share/java/jayatanaag.jar
$ apt-cache search jayatana
jayatana - Java Native Library for ayatana project

从这个输出中,我可以得出结论,有些东西试图将其代理附加到所有启动的Java代码。ayatana

Ubuntu Wiki 说,

Ayatana是一项集体努力,旨在改善Ubuntu中和为Ubuntu提供软件的用户体验。

因此,看起来此应用程序正在附加代理,以确保应用程序稳定或类似的东西。

消除此变量的简单方法是将其取消设置在:~/.profile

$ echo unset JAVA_TOOL_OPTIONS >>~/.profile

但这看起来更像是解决方法,如果您确定不需要此应用程序,则可以完全删除它:

$ sudo apt-get remove jayatana

答案 2

罗恩在askubuntu上有一个完整的答案,我引用

选项1:删除jayatana包

sudo apt-get remove jayatana

如果 Java swing 应用程序不需要全局菜单支持,则只需删除包即可。删除软件包不会比使基于java swing的应用程序(如eclipse和intellij)的菜单移回应用程序的窗口内造成更大的伤害。

选项 2:仅删除恼人的消息

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

这将删除Jayatana的自动启动配置,并且您永远不会看到烦人的消息。同样,这将禁用 Java Swing 应用程序的全局菜单支持。

整个解决方案可在此处获得