原文见:【java】Deppin 解决JDK出现Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gasp的问题
注意有部分不同!!!
在终极解决方法中可能同样需要在~/.bashrc
中加入unset _JAVA_OPTIONS
。
我用的国产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)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
在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
- 1
【2】注销用户,问题解决。
原理:
我发现其实这个问题的主要原因就是环境变量里面拥有一条名为_JAVA_OPTIONS 的环境变量,但是在终端不管怎么删除,最终的结果都仅仅会作用于当前终端,再打开其他终端或者软件时,还是有问题。但是在任何的相关文件中都没有找到记录,只时我想到:可不可以在系统加载的时候就直接禁掉这个环境变量呢,于是乎我就/etc/profile文件中添加了如上的内容,问题解决。