我有一个 Java 项目,并且正在使用 Apache Maven。这段时间我一直在使用 Maven Java 编译器插件,其参数 source=1.5 和 target=1.5 在 pom.xml 文件中定义。由于我将其更改为 source=1.6 和 target=1.6 我收到以下错误:
XXXXXXXX.java:[54,27] 用于编码 UTF-8 的不可映射字符
我一直在测试不同的配置,并将 showWarnings 更改为值 true,这样我就可以看到,对于 source 和 target 的值 1.5,这是一个警告,而不是错误。
无论如何我都需要更改 Java 编译器配置。有谁知道为什么会这样以及如何在不编辑所有 Java 源文件的情况下解决这个问题(现在有数百个文件存在此问题)?
我的问题是:为什么 source=1.6 和 target=1.6 会出现错误 这是一个带有 source=1.5 和 target=1.5 的警告?
简短的回答,因为他们这么说:
-source 1.6 这是默认值。没有语言变化 Java SE 6 中引入。但是,源文件中的编码错误 现在报告为错误,而不是像以前那样报告警告。
@DaveG 的担忧是合理的,您应该尝试: