“启动Scala解释器时拾取JAVA_TOOL_OPTIONS:-javaagent:/usr/share/java/jayatanaag.jar”

在Ubuntu 14.04中运行Scala解释器时,第一行显示以下消息:

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

接下来是熟悉的“欢迎来到Scala”的消息。

我很担心,因为在之前运行Scala的时候我还没有看到 – 这是什么意思,是危险的,等等?

显然环境variables$JAVA_TOOL_OPTIONS设置为-javaagent:/usr/share/java/jayatanaag.jar – 我没有设置,但是做了什么,为什么? 我可以安全地取消它吗?

附加信息:

  • 最近安装了Android Studio
  • JAR名称中的“ayatana”一词可能指向Ubuntu的Ayatana项目

您可以通过像下面这样取消设置JAVA_TOOL_OPTIONS来禁用当前shell会话的JAVA_TOOL_OPTIONS

 unset JAVA_TOOL_OPTIONS 

这样它仍然会被启用的应用程序需要它。

如果您安装了允许eclipse中的隐藏全局菜单使用Unity的jayatana,就会发生这种情况:

 sudo add-apt-repository ppa:danjaredg/jayatana sudo apt-get update sudo apt-get install jayatana 

将JAR放入启动时由JVM响应的/usr/share/java/文件夹中。

如果您删除该软件,您将看不到该消息:

 sudo apt-get remove jayatana 

您可能需要删除:

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

并重新启动会话,以便未设置环境variablesJAVA_TOOL_OPTIONS

这是因为Jayatana,它被添加到Ubuntu 15.04为了启用Java Swing应用程序的全局菜单。 您可以通过在terminal中input以下命令来安全地删除此消息。 该命令将删除Jayatana的自动启动configuration。

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

但是,删除此选项将禁用NetBeans,IntelliJ IDEA等Java Swing应用程序的全局菜单支持。 我已经分享了我的解决方法来抑制消息,而不会丢失本文中的全局菜单: 全局菜单支持Java应用程序

在Windows上,设置JAVA_TOOL_OPTIONS =

设置为null会将其从环境中删除。

如果你不想卸载任何东西,你可以从terminal创build一个密钥存储:

 keytool -keystore clientkeystore -genkey -alias anyalias 

(你应该在项目的forlder创build它)

然后在Android Studio中点击Build-> Generate Signed APK并select创build的密钥库。

如果您使用的是Windows操作系统,则转到环境variables并删除或​​设置为空的variablesJAVA_TOOL_OPTIONS。