如何在不改变 masOS 系统环境为中文的情况下让 jdk 认为系统是英文环境?

2018-06-21 00:20:44 +08:00
 darrh00

从终端设置环境变量不起作用

$ locale -a
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=

javac 输出仍然是中文

javac
用法: javac <options> <source files>
其中, 可能的选项包括:
  -g                         生成所有调试信息
  -g:none                    不生成任何调试信息
  -g:{lines,vars,source}     只生成某些调试信息
  -nowarn                    不生成任何警告
  -verbose                   输出有关编译器正在执行的操作的消息
  -deprecation               输出使用已过时的 API 的源位置
  -classpath <路径>            指定查找用户类文件和注释处理程序的位置
  -cp <路径>                   指定查找用户类文件和注释处理程序的位置
  -sourcepath <路径>           指定查找输入源文件的位置
  -bootclasspath <路径>        覆盖引导类文件的位置
  -extdirs <目录>              覆盖所安装扩展的位置
  -endorseddirs <目录>         覆盖签名的标准路径的位置
  -proc:{none,only}          控制是否执行注释处理和 /或编译。
  -processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程
  -processorpath <路径>        指定查找注释处理程序的位置
  -parameters                生成元数据以用于方法参数的反射
  -d <目录>                    指定放置生成的类文件的位置
  -s <目录>                    指定放置生成的源文件的位置
  -h <目录>                    指定放置生成的本机标头文件的位置
  -implicit:{none,class}     指定是否为隐式引用文件生成类文件
  -encoding <编码>             指定源文件使用的字符编码
  -source <发行版>              提供与指定发行版的源兼容性
  -target <发行版>              生成特定 VM 版本的类文件
  -profile <配置文件>            请确保使用的 API 在指定的配置文件中可用
  -version                   版本信息
  -help                      输出标准选项的提要
  -A 关键字[=值]                  传递给注释处理程序的选项
  -X                         输出非标准选项的提要
  -J<标记>                     直接将 <标记> 传递给运行时系统
  -Werror                    出现警告时终止编译
  @<文件名>                     从文件读取选项和文件名
  
2709 次点击
所在节点    macOS
4 条回复
hguandl
2018-06-21 01:05:55 +08:00
`javac -J-Duser.language=en -J-Duser.country=US`
`java -Duser.language=en -Duser.country=US`

可以加到 alias 方便调用。

https://stackoverflow.com/questions/23749714/how-to-change-the-display-language-of-javac-to-english
https://stackoverflow.com/questions/8809098/how-do-i-set-the-default-locale-for-my-jvm

Google 一下,你就知道。
darrh00
2018-06-21 01:14:16 +08:00
@hguandl

感谢,设置 alias 能解决直接运行的情况,

大多数时候是被编译工具比如 gradle 调用,这时设置 JAVA_OPTS 为`-Duser.language=en -Duser.country=US`是管用的。
Microi
2018-06-21 08:30:38 +08:00
借楼问一下有没有在 4k 屏开 2k hidpi 的情况下让不支持 hidpi 的游戏以为是 4k 分辨率…
GuangTsang
2018-06-21 17:13:00 +08:00
趁他不注意,甩一句英文

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/464575

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX