即使配置,Maven安装也不会以UTF-8编码

时间:2016-11-24 16:50:08

标签: java maven testing encoding utf-8

您好我的项目编码有问题。

当我从eclipse运行JUnit测试时,没有失败。问题是当我做maven>干净的maven>安装,其中一个测试失败。

我有这个字符串:“ADMINISTRACIÓN”,当我从eclipse运行JUnit时它很好,但是我打印了变量,当maven进行测试时,这个字符串的值是:“ADMINISTRACI N”。

我已将eclipse中编码的所有属性更改为UTF-8。 - 以这种方式配置pom:

      (...)
      <project>
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            (...)
       </properties>
      </project>
      (...)
      <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.0</version>
            <configuration>
              <encoding>UTF-8</encoding>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
     </plugins>
     (...)

但输出是一样的。我有一个与我相同项目的同事,同样的eclipse客户端和配置,以及她的maven测试打印口音没有任何问题。

还有其他想法吗?

非常感谢!

2 个答案:

答案 0 :(得分:1)

尝试使用以下命令运行构建:

mvn -DargLine=-Dfile.encoding=UTF-8 clean insall

如果有帮助,您可以在项目中配置surefire:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <argLine>-Dfile.encoding=${project.build.sourceEncoding}</argLine>
            </configuration>
        </plugin>

可能会出现问题,因为System.out使用默认系统编码,您可以更改此设置file.encoding java属性。

答案 1 :(得分:0)

我尝试了this post中提到的所有设置来成功构建我的项目,但是这对我不起作用。最终,我能够使用mvn -DargLine=-Dfile.encoding=UTF-8 clean insall命令成功构建项目。