您好我的项目编码有问题。
当我从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测试打印口音没有任何问题。
还有其他想法吗?
非常感谢!
答案 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
命令成功构建项目。