我正在尝试将我的 Maven 应用程序从 Eclipse Java EE Luna 移动到 IntelliJ Idea 14.0.3。
当我尝试在我的新 Idea IDE 中构建项目时,我收到这段代码的以下错误:
错误:java:大小写标签重复
char c = '-';
int postChar = -1;
switch (c) {
case 'ü': c = 'u'; postChar = 'e';
break;
case 'ö': c = 'o'; postChar = 'e';
break;
case 'ä': c = 'a'; postChar = 'e';
break;
}
这段代码有什么问题?
问候
最佳答案
我怀疑是编码设置的问题。尝试以下操作:
- 转到设置(Ctrl+Alt+S/⌘,) > 编辑器 > 文件编码。确保“项目编码”(在顶部)设置为“UTF-8”。您可能还想将“IDE 编码”也设置为 UTF-8。
- 您可能还想在文件/应用程序> 其他设置> 默认设置 中进行设置,以便将来的新项目默认使用这些设置。
- 在状态栏的右下角(右下角),确保文件的编码为 UTF-8。如果不是,请更改它:
- 如果上述方法未能解决问题,请转至设置 (Ctrl+Alt+S/⌘ ,) > Build Execution, Deployment > Compiler 并在“Additional build process VM Options”中添加
-Dfile.encoding=UTF8
。还要确保顶部的“使用编译器”设置为javac
。如果您需要替代编译器,您可能必须解决该编译器的问题。我至少会尝试使用javac
编译器,这样您就可以明确地说它是替代编译器的问题。- 作为替代方案,您可以设置
JAVA_TOOL_OPTIONS
系统/环境变量,使其声明-Dfile.encoding=UTF8
,然后重新启动 IntelliJ IDEA,使其接收更改.之后,所有java
和javac
命令都将使用文件编码设置。请参阅 SO 帖子 Setting the default Java character encoding?了解更多详情。
- 作为替代方案,您可以设置
以上内容应该有效。如果没有,请尝试使用 Unicode 转义序列替换 char 声明作为故障排除步骤:
switch (c) { case '\u00FC': c = 'u'; postChar = 'e'; break; case '\u00F6': c = 'o'; postChar = 'e'; break; case '\u00E4': c = 'a'; postChar = 'e'; break; }
关于java - 重复大小写标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29101160/