Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文標點輸入無效的完美解決方法
Mac OS X 下基于 Java 的程序(如 IntelliJ IDEA、jEdit 等)會出現中文標點輸入無效的問題,在中文輸入法狀態(tài),可以輸入中文字,但輸入中文標點最后上去的是英文標點。查閱了相關資料,原來這是 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 目錄,執(zhí)行以下命令:
$ mv jdk jdk.backup $ ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk jdk
重啟 IDEA 即可,輸入中文標點就正常啦。AppCode、WebStorm 的修改也是一樣的。
2、針對 jEdit 的修改,有兩種方法
(1)方法一:
下載一個用于 Mac OS X 環(huán)境下基于 Java 的程序通用啟動腳本,官方地址是 https://github.com/tofi86/universalJavaApplicationStub,這個腳本可以由你自由修改 Java 程序啟動的細節(jié),并且能夠支持 Mac OS X 程序包裝配置文件,比如 Info.plist 等等。將這個腳本 universalJavaApplicationStub 復制到 /Applications/jEdit.app/Contents/MacOS 目錄下,然后進入到這個目錄,執(zhí)行以下命令:
$ mv jedit jedit.backup $ mv universalJavaApplicationStub jedit $ vi jedit
在里面定義內部環(huán)境變量 JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home,在腳本后面找到真正啟動 java 的命令代碼前面,設置內部環(huán)境變量 JVMClassPath=${OracleJavaFolder}/jedit.jar,保存后退出,重新啟動 jEdit 即可。
(2)方法二:
執(zhí)行以下命令:
$ 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 程序中文標點輸入無效的完美解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
Java深入學習圖形用戶界面GUI之創(chuàng)建窗體
圖形編程中,窗口是一個重要的概念,窗口其實是一個矩形框,應用程序可以使用其從而達到輸出結果和接受用戶輸入的效果,學習了GUI就讓我們用它來創(chuàng)建一個窗體2022-05-05springboot 使用zookeeper實現分布式隊列的基本步驟
這篇文章主要介紹了springboot 使用zookeeper實現分布式隊列,通過ZooKeeper的協(xié)調和同步機制,多個應用程序可以共享一個隊列,并按照先進先出的順序處理隊列中的消息,需要的朋友可以參考下2023-08-08Java ThreadLocal類應用實戰(zhàn)案例分析
這篇文章主要介紹了Java ThreadLocal類應用,結合具體案例形式分析了java ThreadLocal類的功能、原理、用法及相關操作注意事項,需要的朋友可以參考下2019-09-09