javac将我的评论标记为错误

时间:2016-04-24 20:08:33

标签: java shell encoding compilation javac

我正在尝试编译位于以下位置的3个java文件: / var / www / PhpProject2 / Solutions / 5/9/1 /在我的电脑上(Linux Ubuntu)。

我在shell中使用了以下命令: javac / var / www / PhpProject2 / Solutions / 5/9/1 / * .java

并输出100个如下所示的错误:

错误:编码UTF8的不可映射字符             归并排序(ARR); //�����������������������������

箭头指向其中一个�标志。

这对我来说是新的,因为据我所知,Compilation会删除我代码中的所有注释,而不是将它们视为错误。

到目前为止我尝试过:

将命令更改为:javac -encoding UTF-8 / var / www / PhpProject2 / Solutions / 5/9/1 / * .java

查找文件编码: file -bi /var/www/PhpProject2/Solutions/5/9/1/UnionIntervals.java

然后我尝试了: javac -encoding text / x-c ++; charset = iso-8859-1 / var / www / PhpProject2 / Solutions / 5/9/1 / * .java

所有人都得到了同样的错误。

1 个答案:

答案 0 :(得分:0)

给出以下简约Java文件:

> cat test.java 
// ä

以下命令准确给出了您描述的错误:

> javac -encoding utf8 test.java 
test.java:1: warning: unmappable character for encoding utf8
// ?

使用正确的编码时,处理文件时没有错误:

> javac -encoding iso-8859-1 test.java 

这是因为Java编译器需要解析整个文件(包括注释)。评论仅在解析后被删除。