此问题出现在 Manjaro Deepin 15.9 linux DE 上。当我在终端中运行 java -version 时,它输出以下内容:
Picked up _JAVA_OPTIONS:
java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)
但是如果使用 sudo 运行该命令,它会正常输出没有留言Picked up _JAVA_OPTIONS:
!
我通过将未设置的 JAVA_OPTIONS 放置在 中进行管理/etc/environment
,/etc/profile
并~.bashrc
从终端中删除消息。但当我运行项目时,该消息仍然显示在 Netbeans 中。
另外,我以 sudo 身份运行 Netbeans 只是为了检查它是否会显示,但它没有。我尝试从 Linux 中删除一些我不需要或认为导致该消息的软件(因为我读了一些关于软件问题的帖子),但没有任何改变。
sudo 中未显示的消息让我相信 root 用户可能没有安装普通用户所安装的东西,从而产生此消息。
此消息在可启动 USB 上的 Manjaro Deepin 实时预览中可见!
答案1
我知道这是一个老问题,但万一以后有人遇到这个问题......
TL;DR 你无法抑制此消息。看https://stackoverflow.com/a/13863175/4797233的替代方案。
但为什么只是偶尔出现呢?当您更改用户时,sudo
您的环境也会更改,显然该_JAVA_OPTIONS
变量在 root 用户的环境中不存在。当您从自己的环境中删除该变量时,它也会消失。但是,Netbeans 可以在创建 Java 子进程之前根据需要调整环境,并且配置为添加此变量,无论该变量是否存在。您应该能够将 Netbeans 配置为根本不添加该变量,但具体步骤取决于您的 Netbeans 版本。
答案2
查找environment.d
和profile.d
目录中的所有文件。
使用此命令检查在哪个文件中设置了该变量。对于我的系统,它是在文件中设置的
95kali-themes.conf
。
我使用 grep 命令检查它可能存储在哪个目录中,并在environment.d
目录中找到了它:
grep "JAVA" /etc/environment.d/*
我的建议是检查在终端初始化期间获取的配置文件所在的所有位置。