0

如何将编码 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
4

1 回答 1

3

您是否尝试更改源的编码或程序运行时使用的默认编码。它不是在编译时设置的,然后在运行时成为默认设置。

如果这有很大的不同,我不会使用默认编码,但总是在代码中指定它。

简而言之,您可以使用 maven 设置文件编码

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

您可以使用 StandardCharsets.UTF_8 之类的字符集在代码中设置它(在 Java 7 中)

您可以使用在命令行上设置它

 -Dfile.encoding=UTF-8

这可以通过设置fork选项使用maven来设置http://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html

但最好不要让你的程序正确运行。

于 2013-08-11T19:50:55.310 回答