我的java文件有编译错误:
TestResponse.class:3: error: illegal character: \0
是否与编码有关?
答案 0 :(得分:3)
它看起来像是:
您正在尝试编译.class文件
编译器正在读取 来自类路径的损坏的类文件。
答案 1 :(得分:0)
即使我遇到同样的问题。 问题出在文件格式上。 只需以ANSI格式而不是Unicode或UTF格式保存文件。 它适用于我的情况! 您只需在记事本中打开代码,以ANSI编码字符格式另存为即可!
答案 2 :(得分:0)
我不确定这是否是同一个问题,但可能是。我从Mac OS X压缩了一些java源代码,它编译得很好,并将其复制到Linux,我收到了这些错误:
db / src /._ SomeClass.java:1:错误:编码UTF8的不可映射字符 ... db / src /._ SomeClass.java:1:错误:非法字符:\ 0 ...
此文件在OS X上不存在,但我认为它是在我解压缩归档时创建的,因为原始.java文件具有扩展属性。
回到OS X,当我检查SomeClass.java的权限时,我可以看到这个: -rw-R - R的 - @ 权限末尾的@表示扩展属性。
要查看属性: xattr -l SomeClass.java
删除它们: xattr -c Someclass.java
在Linux上,我可以删除._SomeClass.java文件,但删除Mac OS X上的扩展属性会阻止它再次发生。
答案 3 :(得分:-1)
问题是你可能没有ANSI的编码。
如果你有Unicode编码,你会收到错误