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。
我在启动单个单元测试时遇到问题 来自 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。