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

jor*_*pra 7 java compiler-construction encoding maven

我有一个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,因此我可以看到目标的值为1.5,这是一个警告,而不是错误.

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

Bri*_*zel 12

我的问题是:为什么这是source = 1.6和target = 1.6的错误,并且它是source = 1.5和target = 1.5的警告?

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

-source 1.6这是默认值.Java SE 6中未引入任何语言更改.但是,源文件中的编码错误 现在报告为错误,而不是之前的警告.

@DaveG问题是有效的,你应该尝试:

  • 更改源文件的文件编码
  • 使用IDE查找/替换这些字符

  • 为什么即使在评论中也会抛出错误?它真的不那么有趣. (2认同)