在Maven pom文件中设置surefire插件Locale

JHo*_*nti 14 locale maven maven-surefire-plugin

我在maven-surefire-plugin和 Maven运行测试的默认语言环境中读取,因此可能会丢失您可能设置的任何语言环境.

有没有办法在分叉模式下在Maven中运行测试并仍然保留区域设置?

- 编辑 -

所以,澄清一点:完全可以使用以下方法在系统属性中设置语言和区域:

<systemPropertyVariables>
  <user.language>en</user.language>
  <user.region>GB</user.region>
</systemPropertyVariables>
Run Code Online (Sandbox Code Playgroud)

它们实际上是传递给正在运行的进程.但是,这并没有相应地设置区域设置; 区域设置仍为系统默认值.

小智 19

试试这个:

   <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
            <argLine>-Duser.language=en -Duser.region=GB</argLine>
        </configuration>
   </plugin>
Run Code Online (Sandbox Code Playgroud)


Jon*_*her 2

我没有办法测试这一点,但请尝试一下:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.9</version>
    <configuration>
        <project>
            <properties>
                <user.language>en</user.language>
                <user.region>GB</user.region>
            </properties>
        </project>
        <includes>
            <include>**/*Test.java</include>
        </includes>
        <forkMode>pertest</forkMode>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

编辑:好的试试这个:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.9</version>
    <configuration>
        <systemPropertyVariables>
            <user.language>en</user.language>
            <user.region>GB</user.region>
        </systemPropertyVariables>
        <includes>
            <include>**/*Test.java</include>
        </includes>
        <forkMode>pertest</forkMode>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)