如何将编码UTF-8传递给maven中的Javac编译器?这是我的代码:
Assert.assertTrue(CollectionWidjet.getColPickerListWrapperList(i).getListSpan().getText().trim().equalsIgnoreCase(data.getCollections().get(i).getName().trim()));
这是在输入列表上运行的。基本上,当它是像印地语/中文这样的非Unicode字符时,它会失败。
在普通的javac编译器中,这是如何编译的:
javac -encoding UTF-8 MainClass.java
答案 0 :(得分:3)
您是否尝试更改运行程序时要使用的源代码或默认编码。它不是在编译时设置的东西,然后在运行时变为默认值。
如果这产生了这样的差异,我不会使用默认编码,但总是在代码中指定它。
简而言之,您可以使用
在maven中设置文件编码 <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
你可以使用像StandardCharsets.UTF_8这样的Charset在你的代码中设置它(在Java 7中)
您可以使用
在命令行上进行设置 -Dfile.encoding=UTF-8
可以通过设置fork选项http://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html
来使用maven设置但最好不要让你的程序正常运行。