java - 非标准 Java 安装错误地报告了默认语言环境

标签 java locale jvm-hotspot openj9

使用已安装的 JDK 版本时,默认系统语言环境报告正确,但当我使用 adoptopenjdk-11tar.gz ,总是报告为en_US

import java.util.Locale;

public class CurrentLocale {
    public static void main(String... args) {
        System.out.println("Default locale " + Locale.getDefault());
    }
}
这是 adoptopenjdk11 的 Homebrew 安装示例与下载和提取的相比。
/usr/bin/java CurrentLocale
Default locale ja_JP

~/Downloads/jdk-11.0.8+10/Contents/Home/bin/java CurrentLocale
Default locale en_US
此处显示了每个 JDK 的版本。
# adoptopenjdk-11 (brew cask install adoptopenjdk11)

/usr/bin/java -version
openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.8+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.8+10, mixed mode)

# adoptopenjdk-11 (Downloaded from https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=openj9)

~/Downloads/jdk-11.0.8+10/Contents/Home/bin/java -version
openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.8+10)
Eclipse OpenJ9 VM AdoptOpenJDK (build openj9-0.21.0, JRE 11 Mac OS X amd64-64-Bit Compressed References 20200715_677 (JIT enabled, AOT enabled)
OpenJ9   - 34cf4c075
OMR      - 113e54219
JCL      - 95bb504fbb based on jdk-11.0.8+10)
我猜 macOS 有一些魔力,因为 Java 二进制符号链接(symbolic link)到 /usr/bin/java始终存在,无论是否安装了 Java。
/usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
Hotspot (Oracle) 版本工作正常,但 openj9 (IBM) 版本不工作。
我需要将 JRE 与应用程序捆绑在安装程序中,并将其安装到非标准位置。
如何在下载的 openj9 tar 中获取默认语言环境以镜像当前系统的语言环境?

最佳答案

我认为这可能与 https://github.com/eclipse/openj9/issues/5705 有关

关于java - 非标准 Java 安装错误地报告了默认语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63275416/

相关文章:

java - 什么-XX :-PrintGC and XX:-PrintGCDetails flags do?

java - Android ListView 元素的弹出选项卡 Activity

html - 是否允许有多个 <title> 标签?

angular - 如何使用 baseHref 将带有 i18n 的 Angular 6 应用程序正确构建为 "locale directories"?

java - 为什么字节图比位图快?

java - 多个虚拟机的垃圾收集

Java volatile 数组?

java - 如何对对象数组的特定元素进行排序

使用 Axis2 和 Netbeans 的 Java Web 服务

jsf - 刷新页面以加载新的区域设置