Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jlink映像中的区域设置getDisplayLanguage已损坏_Java_Locale_Jlink - Fatal编程技术网

Java jlink映像中的区域设置getDisplayLanguage已损坏

Java jlink映像中的区域设置getDisplayLanguage已损坏,java,locale,jlink,Java,Locale,Jlink,以下是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 d

以下是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创建一个自定义运行时映像并使用它运行,我会得到:

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)
如上所述,java.base模块仅包括英语语言环境。要构建还包括其他区域设置的Jlink映像,必须添加jdk.localedata模块