当我将 maven java 编译器插件从 1.5 更改为 1.6 时,为什么在编码 UTF-8 时会出现不可映射的字符?

问题描述 投票:0回答:1

我有一个 Java 项目,并且正在使用 Apache Maven。这段时间我一直在使用 Maven Java 编译器插件,其参数 source=1.5target=1.5 在 pom.xml 文件中定义。由于我将其更改为 source=1.6target=1.6 我收到以下错误:

XXXXXXXX.java:[54,27] 用于编码 UTF-8 的不可映射字符

我一直在测试不同的配置,并将 showWarnings 更改为值 true,这样我就可以看到,对于 sourcetarget 的值 1.5,这是一个警告,而不是错误。

无论如何我都需要更改 Java 编译器配置。有谁知道为什么会这样以及如何在不编辑所有 Java 源文件的情况下解决这个问题(现在有数百个文件存在此问题)?

java maven encoding
1个回答
12
投票

我的问题是:为什么 source=1.6 和 target=1.6 会出现错误 这是一个带有 source=1.5 和 target=1.5 的警告?

简短的回答,因为他们这么说

-source 1.6 这是默认值。没有语言变化 Java SE 6 中引入。但是,源文件中的编码错误 现在报告为错误,而不是像以前那样报告警告

@DaveG 的担忧是合理的,您应该尝试:

  • 更改源文件的文件编码
  • 使用您的 IDE 查找/替换这些字符
© www.soinside.com 2019 - 2024. All rights reserved.