Mac OS X 下基於Java 的程序(如IntelliJ IDEA、jEdit 等)會出現中文標點輸入無效的問題,在中文輸入法狀態,可以輸入中文字,但輸入中文標點最後上去的是英文標點。查閱了相關資料,原來這是Java 自己的bug。從Java 8u51 版本開始就出現了這個bug,一直到現在最新的Java 8u72 仍然如此,但是老版本Java 8u45 是沒有這個問題的。所以,可以採取變通的方法,在Mac OS X 上同時裝一個老版本的JDK 8u45,不會影響已經安裝好的新版本JDK。然後,針對基於Java 的程序進行小小的修改,具體如下:
1、針對IntelliJ IDEA、AppCode、WebStorm 的修改
以IDEA 為例,進入/Applications/IntelliJ IDEA.app/Contents/jre 目錄,執行以下命令:
$ mv jdk jdk.backup$ ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk jdk
重啟IDEA 即可,輸入中文標點就正常啦。 AppCode、WebStorm 的修改也是一樣的。
2、針對jEdit 的修改,有兩種方法
(1)方法一:
下載一個用於Mac OS X 環境下基於Java 的程序通用啟動腳本,官方地址是https://github.com/tofi86/universalJavaApplicationStub,這個腳本可以由你自由修改Java 程序啟動的細節,並且能夠支持Mac OS X 程序包裝配置文件,比如Info.plist 等等。將這個腳本universalJavaApplicationStub 複製到/Applications/jEdit.app/Contents/MacOS 目錄下,然後進入到這個目錄,執行以下命令:
$ mv jedit jedit.backup$ mv universalJavaApplicationStub jedit$ vi jedit
在裡面定義內部環境變量JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home,在腳本後面找到真正啟動java 的命令代碼前面,設置內部環境變量JVMClassPath=${OracleJavaFolder}/jedit.jar,保存後退出,重新啟動jEdit 即可。
(2)方法二:
執行以下命令:
$ cd /Applications/jEdit.app/Contents$ mkdir Plugins$ ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk jdk8
修改Info.plist 文件,增加如下的鍵值對:
<key>JVMRuntime</key> <string>jdk8</string>
保存後退出,重新啟動jEdit 即可。
以上所述是小編給大家介紹的Mac OS X 下IntelliJ IDEA、jEdit 等Java 程序中文標點輸入無效的完美解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!