jlink 图像中的区域设置 getDisplayLanguage 损坏

Locale getDisplayLanguage broken in jlink Image

这是一个 SSCCE:

public class Main {
    public static void main(String[] args) {
        Locale item = Locale.FRANCE;
        System.out.println("Locale: "+item+" displayed: "+item.getDisplayLanguage(Locale.GERMANY));
    }
}

编译和运行宁它时,它正确显示

Locale: fr_FR displayed: Französisch

但是,如果我现在通过 jlink 创建自定义 运行time 图像并使用它 运行,我会得到:

Locale: fr_FR displayed: French

无论使用哪种语言环境,它似乎总是退回到英语语言环境。也许我需要一个额外的模块? 运行时间图像生成如下:

jlink --module-path "..." --add-modules=java.desktop,java.logging,javafx.controls,javafx.graphics,javafx.fxml,javafx.base,javafx.media --output image

我的 JDK 版本:

$ java --version
java 11.0.2 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)

here 所述,java.base 模块仅包含英语语言环境。要构建包含其他语言环境的 Jlink 映像,必须添加 jdk.localedata 模块。