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

时间:2011-08-08 00:35:38

标签: java compiler-construction ant

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

unclosed character literal

违规行代码是:

protected char[] diacriticVowelsArray = { 'á', 'é', 'í', 'ó', 'ú' };

编译器消息是什么意思?

3 个答案:

答案 0 :(得分:6)

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

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

javac -encoding UTF8 YourSourceFile.java

答案 1 :(得分:2)

对包含Java源的文本文件使用UTF编码。

使用'\uCODE',其中CODE是á,é等的Unicode编号(例如'á'编写'\u00E1')。

你可能需要这个:

http://www.fileformat.info/info/unicode/char/e1/index.htm

答案 2 :(得分:1)

使用"代替'字符对我来说很有效。

它也可以使用javac -encoding UTF8参数,如前所述。 这意味着编译器未使用UTF8编码。