gpt4 book ai didi

java - 仅在本地计算机 JVM 上设置区域设置

转载 作者:行者123 更新时间:2023-11-30 01:49:32 24 4
gpt4 key购买 nike

出于工作目的,我需要将 Java 区域设置更改为系统范围内的另一种语言,但默认情况下似乎没有简单的方法可以做到这一点。我为 CJK 应用程序进行开发,但更改我的实际系统区域设置以匹配也会重命名我的主文件夹,这意味着如果我的输入法决定停止工作,我将不得不重新启动整个系统。

我尝试在

上设置 JVM 参数 ( -Duser.language=ja -Duser.locale=JP)
  • maven 命令行参数(确实不是我想要的,但出于绝望而尝试)
  • {$project_dir}/.mvn/jvm.config(不理想)
  • 环境JAVA_ARGS(在/etc/environment下)
  • eclipse/intellij 中的 Maven JVM 参数
  • MAVEN_OPTS

但它们都不起作用。我几乎束手无策了。

需要明确的是,我正在寻找符合以下标准的解决方案:

  • 非特定项目
  • 不需要在 .mvn 之外修改项目源代码(例如项目属性文件)
  • 不涉及更改我的实际系统区域设置 (en_US)
  • 不需要持续维护(例如不断添加命令行参数)

基本上是某种环境变量。

最佳答案

您可以在 application.propertiesapplication.yaml 中包含这些属性:

spring.mvc.locale=pt_BR
spring.mvc.locale-resolver=fixed

将区域设置更改为您需要的区域设置。

这些属性用于在配置 WebMvcAutoConfiguration 时通过以下方法定义区域设置:

    @Bean
@ConditionalOnMissingBean
@ConditionalOnProperty(prefix = "spring.mvc", name = "locale")
public LocaleResolver localeResolver() {
if (this.mvcProperties.getLocaleResolver() == WebMvcProperties.LocaleResolver.FIXED) {
return new FixedLocaleResolver(this.mvcProperties.getLocale());
}
AcceptHeaderLocaleResolver localeResolver = new AcceptHeaderLocaleResolver();
localeResolver.setDefaultLocale(this.mvcProperties.getLocale());
return localeResolver;
}

您还可以查看源代码 here

关于java - 仅在本地计算机 JVM 上设置区域设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56553548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com