我用的國產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文件中添加了如上的內容,問題解決。