我try 将LocalDateTime转换为当前使用的语言,如下面的答案所示:https://stackoverflow.com/a/51843932

在Eclipse中运行该程序的效果与预期一致,但当它与maven和jlink一起部署时,它会返回到英语.

我想我缺少一个需要的模块?它是一个JDK17模块化应用程序.

我试过:

Locale loc = new Locale("de", "DE");
Locale.setDefault(loc);
lblDateTime.setText(LocalDateTime.now()
    .format(DateTimeFormatter.ofPattern("EEEE, dd. MMMM yyyy - HH:mm:ss");
lblDateTime.setText(LocalDateTime.now()
    .format(DateTimeFormatter.ofPattern("EEEE, dd. MMMM yyyy - HH:mm:ss", Locale.GERMAN);
lblDateTime.setText(LocalDateTime.now()
    .format(DateTimeFormatter.ofPattern("EEEE, dd. MMMM yyyy - HH:mm:ss").localizedBy(Locale.GERMAN);

Result in Eclipse in all 3 cases: Eclipse result

Result after deployment: deploy result

模块信息:

module [name] {
    [...]

    requires transitive javafx.controls;
    requires javafx.fxml;
    requires transitive javafx.graphics;
    requires org.apache.logging.log4j.core;
    requires javafx.base;
    requires org.controlsfx.controls;
    requires java.base;
    requires java.desktop;
}

更新1:

更新2:

推荐答案

当您构建优化的环境但需要本地化支持时,您的环境中必须包含jdk.localedata个.

提供除US locale以外的区域设置的区域设置数据.

因此,在创建运行时映像时,可以指定--add-modules jdk.localedatajlink,也可以将requires jdk.localedata;添加到module-info.java.

Java相关问答推荐

JPackage-results已安装-如何添加系统属性?

那么比较似乎不是词典学的,尽管doctor 这么说

Java JAR环境(JRE)是否支持模块?

在spring—data中自动发现native—sql查询期间遇到重复的SQL别名[id]

路径映射未发生

现场观看Android Studio中的变化

如何判断一个矩阵是否为有框矩阵?

如何获得执行人?

当涉及到泛型时,类型推理在Java中是如何工作的?

更新GWT 2.5.1到2.11.0和sencha GXT 3.1.1到4.1时出现错误

Spring @Value default无法计算表达式

如何让JavaFx应用程序识别依赖项?

使用OAuth 2.0资源服务器JWT时的授权(授权)问题

每次FXMLLoader调用ApplationConext.getBean(类)时创建@Component的新实例

如何读取3个CSV文件并在控制台中按顺序显示?(Java)

如何在Java中为thunk创建映射器函数

Java List有一个在一个位置添加多个元素的方法,但我找不到一个在一个位置删除多个元素的方法

[jdk21][Foreign Function&;Memory API]MemoryLayout::varHandle通过可变数组进行 struct 化的问题

Java编译器是否进行了持续的折叠优化,以及如何进行判断?

ResponseEntity.控制器截断响应的JSON部分