V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
darrh00
V2EX  ›  macOS

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

  •  
  •   darrh00 · 2018-06-21 00:20:44 +08:00 · 2867 次点击
    这是一个创建于 2352 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    $ 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                    出现警告时终止编译
      @<文件名>                     从文件读取选项和文件名
      
    
    4 条回复    2018-06-21 17:13:00 +08:00
    hguandl
        1
    hguandl  
       2018-06-21 01:05:55 +08:00   ❤️ 1
    `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
        2
    darrh00  
    OP
       2018-06-21 01:14:16 +08:00
    @hguandl

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

    大多数时候是被编译工具比如 gradle 调用,这时设置 JAVA_OPTS 为`-Duser.language=en -Duser.country=US`是管用的。
    Microi
        3
    Microi  
       2018-06-21 08:30:38 +08:00 via iPhone
    借楼问一下有没有在 4k 屏开 2k hidpi 的情况下让不支持 hidpi 的游戏以为是 4k 分辨率…
    GuangTsang
        4
    GuangTsang  
       2018-06-21 17:13:00 +08:00
    趁他不注意,甩一句英文
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3415 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:35 · PVG 19:35 · LAX 03:35 · JFK 06:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.