如何屏蔽"Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar"消息

14

我正在使用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)

我该如何取消这种行为?


没有办法抑制输出 https://community.oracle.com/thread/1239778 - Kenneth Clark
请勿使用代码片段,除非是HTML/CSS/Javascript。 - anon
在 https://community.oracle.com/thread/1239778 的讨论中提到了一些 java.bat,这有用吗?我们能否在Ubuntu上有类似的东西? - Koushik Chandra
JAVA_TOOL_OPTIONS= java -version 输出什么? - Dmitry Ginzburg
Java版本“1.7.0_21” - Koushik Chandra
2个回答

10

我也升级到了Ubuntu 15.04,遇到了同样的问题(不过,我并没有觉得它是一个问题)。

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

从这个输出结果可以推断出,有一个叫做ayatana的东西正在尝试将它的代理附加到所有启动的Java代码上。

Ubuntu Wiki说:

Ayatana是为Ubuntu中的软件改进用户体验的集体努力。

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

消除这个变量的简单方法就是在~/.profile中取消设置:

$ echo unset JAVA_TOOL_OPTIONS >>~/.profile

但这看起来更像是一种变通方法,如果你确定不需要此应用程序,可以完全删除它:

$ sudo apt-get remove jayatana

我曾经卸载过它,但是之后使用“jps”命令时出现了错误。所以我又重新安装了它。你提供的解决方法对我没有起作用。 - Koushik Chandra
在这里,我的意思是在执行echo JAVA_TOOL_OPTION步骤之后,我没有得到“-javaagent:/usr/share/java/jayatanaag.jar”,而是在标准输出中得到了“Picked up JAVA_TOOL_OPTION:”。是否可以完全抑制“Picked up JAVA_TOOL_OPTION:”这个消息? - Koushik Chandra
我已经按照你说的重启了控制台。在应用这个更改之前,我收到的消息是“Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar”,而应用这个更改后,我收到的消息是“Picked up JAVA_TOOL_OPTIONS:”。我的意思是这个消息并没有完全消失。 - Koushik Chandra
让我们在聊天中继续这个讨论 - Koushik Chandra
只是一个信息:Jayatana可以让Java应用更好地集成到Ubuntu的Unity中(例如使全局/本地菜单和HUD在Java中工作)。 - user2641641
显示剩余6条评论

3

在askubuntu上Ron给出了一个完整的答案,我进行引用:

Option 1: Remove jayatana package

sudo apt-get remove jayatana

If you do not need global menu support for Java swing applications, you can simply remove the package. Removing the package will not cause more harm than making menus of java swing based applications such as eclipse and intellij move back inside the window of the application.

Option 2: Remove only the annoying message

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

This will remove the auto-start configuration of Jayatana and you won't see the annoying message ever. Again, this will disable the global menu support of Java Swing applications.

整个解决方案在这里可用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接