配置maven-compiler-plugin使用与你的源文件编码相同的字符编码(例如):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
许多Maven插件默认会使用"project.build.sourceEncoding"属性,因此在pom文件中设置这个属性就可以覆盖大多数插件。
<project>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
...
然而,我更喜欢在每个支持编码的插件配置中设置编码,因为我希望更明确。
当maven-compiler-plugin编译您的源代码时,编译插件会使用编译插件配置的任何编码读取源代码文件。如果您的源文件具有不同于编译插件使用的编码,则可能存在某些字符在两种编码中都不存在的情况。
许多人喜欢将源文件的编码设置为UTF-8,以避免此问题。在Eclipse中,您可以右键单击项目,选择属性->资源->文本文件编码,将其更改为UTF-8。这将对所有源文件进行UTF-8编码。(像上面提到的那样,您还应明确配置maven-compiler-plugin以使用UTF-8编码)。当您的源文件和编译插件都使用相同的编码时,在编译过程中就不应该再出现无法映射的字符了。
请注意,您还可以通过Window->Preferences->General->Workspace->Text File Encoding全局设置文件编码。您还可以通过Window->Preferences->General->Content Types为每种文件类型设置编码。
SpanishTest.java
中的内容可能有一点偏差。 - jar