Ant编译:未闭合的字符文字

Mik*_*ike 2 java compiler-construction ant

当我使用ant编译我的Web应用程序时,我得到以下编译器消息:

unclosed character literal
Run Code Online (Sandbox Code Playgroud)

违规行代码是:

protected char[] diacriticVowelsArray = { 'á', 'é', 'í', 'ó', 'ú' };
Run Code Online (Sandbox Code Playgroud)

编译器消息是什么意思?

Gre*_*ill 6

Java通常期望其源文件以UTF-8编码.您是否已将编辑器设置为使用UTF-8编码保存源文件?问题是如果您使用不同的编码,那么Java编译器将会混淆(因为您使用的字符将在UTF-8和其他编码之间进行不同编码)并且无法解码您的源代码.

您的Java也可能设置为使用不同的编码.在这种情况下,请尝试:

javac -encoding UTF8 YourSourceFile.java
Run Code Online (Sandbox Code Playgroud)

  • 我在我的ant构建脚本中的javac命令中添加了`encoding ="utf8"`,它运行正常. (3认同)