javac 将我的评论标记为错误

javac marks my comments as errors

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

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

它输出 100 个错误,如下所示:

错误:UTF8 编码无法映射字符 合并排序(arr); // ���� �� ������ ������ ���� ������ ����

箭头指向 � 符号之一。

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

到目前为止我尝试过的:

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

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

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

所有人都以同样的错误告终。

给定以下简约 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编译器需要解析整个文件(包括注释)。注释仅在解析后被剥离。