Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文標(biāo)點(diǎn)輸入無(wú)效的完美解決方法
Mac OS X 下基于 Java 的程序(如 IntelliJ IDEA、jEdit 等)會(huì)出現(xiàn)中文標(biāo)點(diǎn)輸入無(wú)效的問題,在中文輸入法狀態(tài),可以輸入中文字,但輸入中文標(biāo)點(diǎn)最后上去的是英文標(biāo)點(diǎn)。查閱了相關(guān)資料,原來這是 Java 自己的 bug。從 Java 8u51 版本開始就出現(xiàn)了這個(gè) bug,一直到現(xiàn)在最新的 Java 8u72 仍然如此,但是老版本 Java 8u45 是沒有這個(gè)問題的。所以,可以采取變通的方法,在 Mac OS X 上同時(shí)裝一個(gè)老版本的 JDK 8u45,不會(huì)影響已經(jīng)安裝好的新版本 JDK。然后,針對(duì)基于 Java 的程序進(jìn)行小小的修改,具體如下:
1、針對(duì) IntelliJ IDEA、AppCode、WebStorm 的修改
以 IDEA 為例,進(jìn)入 /Applications/IntelliJ IDEA.app/Contents/jre 目錄,執(zhí)行以下命令:
$ mv jdk jdk.backup $ ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk jdk
重啟 IDEA 即可,輸入中文標(biāo)點(diǎn)就正常啦。AppCode、WebStorm 的修改也是一樣的。
2、針對(duì) jEdit 的修改,有兩種方法
(1)方法一:
下載一個(gè)用于 Mac OS X 環(huán)境下基于 Java 的程序通用啟動(dòng)腳本,官方地址是 https://github.com/tofi86/universalJavaApplicationStub,這個(gè)腳本可以由你自由修改 Java 程序啟動(dòng)的細(xì)節(jié),并且能夠支持 Mac OS X 程序包裝配置文件,比如 Info.plist 等等。將這個(gè)腳本 universalJavaApplicationStub 復(fù)制到 /Applications/jEdit.app/Contents/MacOS 目錄下,然后進(jìn)入到這個(gè)目錄,執(zhí)行以下命令:
$ mv jedit jedit.backup $ mv universalJavaApplicationStub jedit $ vi jedit
在里面定義內(nèi)部環(huán)境變量 JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home,在腳本后面找到真正啟動(dòng) java 的命令代碼前面,設(shè)置內(nèi)部環(huán)境變量 JVMClassPath=${OracleJavaFolder}/jedit.jar,保存后退出,重新啟動(dòng) jEdit 即可。
(2)方法二:
執(zhí)行以下命令:
$ cd /Applications/jEdit.app/Contents $ mkdir Plugins $ ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk jdk8
修改 Info.plist 文件,增加如下的鍵值對(duì):
<key>JVMRuntime</key> <string>jdk8</string>
保存后退出,重新啟動(dòng) jEdit 即可。
以上所述是小編給大家介紹的Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文標(biāo)點(diǎn)輸入無(wú)效的完美解決方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
IDEA項(xiàng)目啟動(dòng)時(shí)Flyway數(shù)據(jù)庫(kù)遷移中的checksum不匹配問題及最新解決方案
面對(duì)IDEA項(xiàng)目啟動(dòng)時(shí)報(bào)出的Flyway遷移校驗(yàn)和不匹配問題,核心在于保持遷移腳本的一致性、正確管理和理解Flyway的工作機(jī)制,本文介紹IDEA項(xiàng)目啟動(dòng)時(shí)Flyway數(shù)據(jù)庫(kù)遷移中的checksum不匹配問題及最新解決方案,感興趣的朋友一起看看吧2024-01-01
java加密MD5實(shí)現(xiàn)及密碼驗(yàn)證代碼實(shí)例
這篇文章主要介紹了java加密MD5實(shí)現(xiàn)及密碼驗(yàn)證代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
Java中你絕對(duì)沒用過的一個(gè)關(guān)鍵字Record的使用
這篇文章主要給大家介紹一個(gè)?Java?中的一個(gè)關(guān)鍵字?Record,那?Record?關(guān)鍵字跟不可變類有什么關(guān)系呢?看完今天的文章你就知道了,快跟隨小編一起學(xué)習(xí)一下吧2022-11-11
SpringMVC結(jié)合模板模式實(shí)現(xiàn)MyBatisPlus傳遞嵌套JSON數(shù)據(jù)
我們經(jīng)常會(huì)遇到需要傳遞對(duì)象的場(chǎng)景,有時(shí)候,我們需要將一個(gè)對(duì)象的數(shù)據(jù)傳遞給另一個(gè)對(duì)象進(jìn)行處理,但是又不希望直接暴露對(duì)象的內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)細(xì)節(jié),所以本文給大家介紹了SpringMVC結(jié)合模板模式實(shí)現(xiàn)MyBatisPlus傳遞嵌套JSON數(shù)據(jù),需要的朋友可以參考下2024-03-03
詳解Java利用同步塊synchronized()保證并發(fā)安全
這篇文章主要介紹了Java利用同步塊synchronized()保證并發(fā)安全,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
spring boot使用RabbitMQ實(shí)現(xiàn)topic 主題
本篇文章主要介紹了spring boot使用RabbitMQ實(shí)現(xiàn)topic 主題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03
Java面試題沖刺第十九天--數(shù)據(jù)庫(kù)(4)
這篇文章主要為大家分享了最有價(jià)值的三道關(guān)于數(shù)據(jù)庫(kù)的面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下2021-08-08
Java concurrency集合之ConcurrentSkipListSet_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了Java concurrency集合之ConcurrentSkipListSet的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
SpringBoot使用@PostConstruct注解導(dǎo)入配置方式
這篇文章主要介紹了SpringBoot使用@PostConstruct注解導(dǎo)入配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
SpringMVC HttpMessageConverter消息轉(zhuǎn)換器
??HttpMessageConverter???,報(bào)文信息轉(zhuǎn)換器,將請(qǐng)求報(bào)文轉(zhuǎn)換為Java對(duì)象,或?qū)ava對(duì)象轉(zhuǎn)換為響應(yīng)報(bào)文。???HttpMessageConverter???提供了兩個(gè)注解和兩個(gè)類型:??@RequestBody,@ResponseBody???,??RequestEntity,ResponseEntity??2023-04-04

