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 即可。
使用IntelliJ IDEA 13搭建Android集成开发环境图文教程 http://www.linuxidc.com/Linux/2015-09/123416.htm
IntelliJ IDEA 12 创建Web项目图文详细教程 http://www.linuxidc.com/Linux/2013-05/84213.htm
用IntelliJ IDEA开发Android程序图文教程 http://www.linuxidc.com/Linux/2013-03/81471.htm
IntelliJ IDEA 12开发haXe NME应用配置指南 http://www.linuxidc.com/Linux/2013-01/77227.htm
IntelliJ IDEA运行Play Framework的test mode http://www.linuxidc.com/Linux/2013-07/87694.htm
Ubuntu 13.04 安装IntelliJ IDEA 12 http://www.linuxidc.com/Linux/2013-11/93014.htm
IntelliJ IDEA 12创建Maven管理的Java Web项目(图解) http://www.linuxidc.com/Linux/2014-04/99687p2.htm
IntelliJ IDEA 常用快捷键列表及技巧大全 http://www.linuxidc.com/Linux/2015-04/116398.htm
IntelliJ IDEA 的详细介绍:请点这里
IntelliJ IDEA 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-01/127688.htm