【问题标题】:Maven and Java locales in MacOSMacOS 中的 Maven 和 Java 语言环境
【发布时间】:2019-02-04 16:26:47
【问题描述】:

我需要在 macOS 10.14 机器上使用 Java 8 构建一个 Maven 项目。

出于各种原因,我更愿意让我的系统使用我的“真实”语言环境(也就是说,我的系统设置面板应该将“德语”列为语言环境、时间、货币和数字格式),但我需要我的代码使用“C”语言环境编译。

我尝试使用经典的 Unix 方式设置语言环境,例如 LANG and LC_* environment variables,也使用 user.language (etc.) maven options。在这两种情况下,我都不成功:我的浮点数是使用德语“,”作为小数分隔符输出的,mvn --status 将“de_DE”列为默认语言环境。

似乎 macOS 处理 Java 的区域设置与 Linux 有点不同。那么,如果没有

  1. 更改我的代码库(包括 pom.xml)
  2. 更改 macOS 的系统设置?

【问题讨论】:

  • 如果不在 POM 中设置语言环境,对于其他在本地开发环境中不使用“C”语言环境的开发人员来说,项目不会构建不正确吗?
  • @user944849:项目中的其他人都使用美国语言环境,因此周围的其他人不受影响。但从更普遍的角度来看,是的,你是对的。

标签: java macos maven locale


【解决方案1】:

仅供参考:https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html

要为编译设置语言环境,您可以使用 ma​​ven-compiler-plugin 进行配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.0</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <fork>true</fork>
        <compilerArgs>
            <arg>-J-Duser.language=de_DE</arg>
        </compilerArgs>
    </configuration>
</plugin>

要为 maven 本身设置语言环境,最好的方法是使用带有 jvm.config 文件的 .mvn 文件夹:

.mvn
    jvm.config
src
    main
        ...
    test
        ...
pom.xml

jvm.config:

-Duser.language=en -Duser.country=GB

仅供参考(关于 .mvn 文件夹):https://maven.apache.org/docs/3.3.1/release-notes.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多