国产DeepinLinux操作系统,在手动按照JDK后,出现只要一运行Java相关命令就出现这样的的一句话 Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFont
国产Deepin Linux操作系统,在手动按照JDK后,出现只要一运行Java相关命令就出现这样的的一句话
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gasp
例如java -versionPicked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gaspjava 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文件中添加了如上的内容,问题解决。