java: 在 IntelliJ 中 运行 测试时未闭合的字符文字

java: unclosed character literal while running test in IntelliJ

我在启动单个单元测试时遇到问题 来自 IntelliJ IDEA IDE 因为错误:

 java: unclosed character literal

在我的 working 代码库的许多地方都可以找到。 此错误会阻止 IDE 编译代码库和启动测试。

相反,当我使用 maven 启动测试时,我 完全没有错误。 给我错误的要点是像这样的单个字符用法:

stringVal.append(date).append('§');

translateLabel(s.replace('«','<'))

所以错误是不正确,考虑到我不是使用单引号来声明字符串。

我猜它与 encoding 有关,所以 IntelliJ Idea IDE 就像在这些引号中看到超过 1 个字符,但 maven 解释它们正确并且 returns 完全没有错误。

我尝试调整 IDE 配置以警告编码错误,但没有结果。

有什么建议吗?

这很可能是一个编码问题:源代码可能是使用 UTF-8 编码的,这意味着 § 存储为两个字节。

如果 IDE 尝试使用 ISO-LATIN-1 字符集读取这两个字节,则会给出字符 §(即两个字符)。

要告诉 IntelliJ 为您的项目使用 UTF-8,请转到设置,搜索“项目编码”并将其更改为 UTF-8。