非标准Java安装错误地报告了默认区域设置



当使用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,符号链接到/usr/bin/java的Java二进制文件总是存在的。

/usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

Hotspot(Oracle(版本运行良好,但openj9(IBM(版本不起作用。

我需要将JRE与应用程序捆绑在安装程序中,并将其安装到非标准位置。

如何在下载的openj9tar中获取默认区域设置以镜像当前系统的区域设置?

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

相关内容

  • 没有找到相关文章

最新更新