gpt4 book ai didi

java - 在 Java 7 中将 sun.locale.formatasdefault 设置为 true

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:22:12 25 4
gpt4 key购买 nike

以下代码将有助于说明我的问题:

import java.util.Locale;
import java.text.*;

public class LocaleTest {
public static void main(String[] args) {
System.out.println(Locale.getDefault());
System.out.println("java-version-" +System.getProperty("java.version"));
System.setProperty("sun.locale.formatasdefault","true");
System.out.println("prop:" +System.getProperty("sun.locale.formatasdefault"));
System.out.println("getLocale-" +Locale.getDefault());
}
}

正如我们所知,Java 7 中的 Locale.getDefault() 中存在错误。但是根据 Oracle 的建议,我已将系统属性“sun.locale.formatasdefault”设置为 true。尽管我现在正在获取我的 m/c 区域设置,但它始终显示为 en_US,即使我的 m/c 区域设置设置为 fr_BE。

这是在 Java 1.7.0_09 上编译和运行的上述代码的输出:

en_USjava-version-1.7.0_09prop:truegetLocale-en_US

关于可能导致这种情况的任何想法?非常感谢。

最佳答案

您需要在 启动 JVM 之前设置该系统属性。您可以通过命令行参数执行此操作:

java -Dsun.locale.formatasdefault=true TargetClass

或者在您无法控制 JVM 启动的环境中,您可以通过 _JAVA_OPTIONS 环境变量进行设置:

  • *尼克斯

    export _JAVA_OPTIONS=-Dsun.locale.formatasdefault=true
  • window

    SET _JAVA_OPTIONS=-Dsun.locale.formatasdefault=true

在 Windows 中,如果您希望更改不仅适用于该 CMD,而且适用于整个系统,您可以创建一个 Windows 系统变量 JAVA_TOOL_OPTIONS

关于java - 在 Java 7 中将 sun.locale.formatasdefault 设置为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13625432/

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