【java】Deppin 解决JDK出现Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gasp的问题

我用的国产Deepin Linux操作系统,在手动安装JDK后,一旦运行java相关命令就出现这样的一句话提示:

Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gasp

例如
java -version

Picked up _JAVA_OPTIONS:   -Dawt.useSystemAAFontSettings=gasp
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

在eclispse,myeclipse,Android Studio中运行程序,也有同样的问题,让人恼火不行。这个问题困扰了我很久。

就在今天,终于找到了解决办法:
如果是不同的操作系统,参照解决。(基本上是一样的)

主要原因是:

系统原有的OpenJDK设置干扰了手动安装的JDK。干扰的文件是:/etc/profile.d/java-awt-font-gasp.sh

解决的办法(一):

一、将OpenJDK的相关设置Copy到你的Jdk下的Jre中
sudo cp -p /etc/java-7-openjdk/properties /opt/Java/jdk1.8.0_66/jre/lib/

如果只是为了解决上面的问题,也可以不Copy,但为了保险起见……

二、将文件备份

sudo cp -p /etc/profile.d/java-awt-font-gasp.sh ~/.local/share/init.d-bak

三、删除文件

sudo rm /etc/profile.d/java-awt-font-gasp.sh

四、注销退出或是重启,解决问题

终极解决方法:

前一段时间重新做了系统,还是遇到了同样的问题,但是根据以前的方法没有解决问题。经过尝试总结了新的解决办:

【1】找到/etc/profile文件,在JDK环境变量之前添加如下:

unset _JAVA_OPTIONS

【2】注销用户,问题解决。

原理:

我发现其实这个问题的主要原因就是环境变量里面拥有一条名为_JAVA_OPTIONS 的环境变量,但是在终端不管怎么删除,最终的结果都仅仅会作用于当前终端,再打开其他终端或者软件时,还是有问题。但是在任何的相关文件中都没有找到记录,只时我想到:可不可以在系统加载的时候就直接禁掉这个环境变量呢,于是乎我就/etc/profile文件中添加了如上的内容,问题解决。

你可能感兴趣的:(深入理解JAVA,Linux)