【发布时间】:2012-01-17 21:21:21
【问题描述】:
我在maven-surefire-plugin and default locale 中读到,Maven 运行分叉的测试,因此可能会丢失您可能设置的任何语言环境。
有没有办法在 Maven 中以分叉模式运行测试并仍然保留语言环境?
-- 编辑--
所以,澄清一下:完全可以在系统属性中设置语言和区域:
<systemPropertyVariables>
<user.language>en</user.language>
<user.region>GB</user.region>
</systemPropertyVariables>
它们实际上是传递给正在运行的进程。然而,这并没有相应地设置语言环境;区域设置保持为系统默认值。
【问题讨论】:
-
您是否尝试过设置
user.country而不是user.region? -
设置国家无效。它将它设置为系统属性就好了,不会以任何方式影响语言环境。
-
Sun 的文档 [1] 指出:“其次,在某些 Java 运行时实现中,应用程序用户可以通过在命令行上设置 user.language, user 来提供此信息来覆盖主机的默认语言环境。 country 和 user.variant 系统属性。”那么,您使用的是哪个 JVM? [1]java.sun.com/developer/technicalArticles/J2SE/locale
-
用 Java 5、6 和 7 尝试过。再一次,user.language、user.country 和 user.variant 被传递给进程就好了。区域设置保持默认。
标签: maven locale maven-surefire-plugin