java:[1,1] 需要class, interface或enum

状态:  cmd编译.java文件时报异常:java:[1,1] 需要class, interface或enum异常原因:  主要原因是java文件的编码问题。

  在中文操作系统中,使用一贯的“javac HelloWorld.java”方式编译UTF-8(带BOM)编码的.java源文件,在没有指定编码参数(encoding)的情况下,默认是使用GBK编码。当编译器用GBK编码来编译UTF-8文件时,就会把UTF-8(带BOM)编码文件的文件头的占3个字节的头信息,按照GBK中汉字占两个字节、英文占1个字节的特性解码成了“乱码”的两个汉字。这个源文件应该是用记事本另存存为UTF-8编码造成的。

解决办法:  对于非GBK及其子集编码(GB2312)的正确的源文件,编译方式为“javac -encoding "UTF-8" HelloWord.java”,这样代码错误的指定代码里就不会出现乱码的中文。

  但是依然会有错误,提示“HelloWorld.java:1: 非法字符: \65279。

  这是因为.java对于UTF-8编码,只识别UTF-8(不带BOM)那种。而记事本只支持保存文件为带签名的UTF-8,那有没有办法解决呢?

  当然是有的,那就是使用EmEditor、EditPlus、UltraEdit或Notepad++之类的工具另存为UTF(不带BOM)(区别于带UTF + BOM)的编码文件。这时候使用“javac -encoding "UTF-8" HelloWorld.java”,就没有上述编码问题了。

也许有人会说,“我干脆都用GBK不就行了吗,为什么还要用UTF-8呢?”

  这是因为UTF-8支持世界多种语言的文字,被世界多数国家接受,是国际通用编码,也是Java推荐使用的编码。Java集成开发环境Eclipse中默认编码就是UTF-8。如果使用GBK,尤其是做网站,在非汉语国家,将无法正常浏览。在信息化时代,国际交往日益频繁;做软件和网站,不能只着眼当前,也要为日后维护做优化、降低维护成本。
时间: 2024-12-25 06:05:15

java:[1,1] 需要class, interface或enum的相关文章

编译java代码出现 错误: 需要class, interface或enum 提示

出现这种错误: 需要class, interface或enum 提示,一般分两种情况:      1.代码编写有误:      2.编码器选择编码格式有问题. 如上图的错误信息,我们可以看出是编码格式造成的错误,解决办法是修改编码格式,一般选择UTF-8无BOM格式编码,就会解决问题.  

Maven报错“未结束的字符串字面值” “需要为 class、interface 或 enum”等

eclipse里面编译完全正常,mvn clean install 这么惨的错误: Compilation failure: [ERROR] *.java:[38,27] 未结束的字符串字面值 [ERROR] *.java:[38,53] 需要 ';' [ERROR] *.java:[41,19] 需要 ')' [ERROR] *.java:[41,12] 不是语句 [ERROR] *.java:[41,23] 需要 ';' [ERROR] *.java:[41,26] 不是语句 [ERROR]

Android Studio 错误: 非法字符: '\ufeff' 解决方案|错误: 需要class, interface或enum

Eclipse可以智能的把UTF-8+BOM文件转为普通的UTF-8文件,Android Studio还没有这个功能,所以使用Android Studio编译UTF-8+BOM编码的文件时会出现" 非法字符: '\ufeff' "之类的错误.如下图: 如果遇到此种问题可以手动将UTF-8+BOM编码的文件转为普通的UTF-8文件. 小编这里使用EdItPlus来转换,用EdItPlus打开.java文件依次:文档>文本编辑>转换文本编码>选择UTF-8编码即可如图:

复制class文件到as中出现非法字符,须要class,interface货enum

问题如题,出现此情况是在导入eclipse项目到Android Studio出现这种错误, 非法字符: '\ufeff' 解决方式|错误: 须要class, interface或enum,查阅后了解到Eclipse能够智能的把UTF-8+BOM文件转为普通的UTF-8文件.Android Studio还没有这个功能,所以使用Android Studio编译UTF-8+BOM编码的文件c=search&key=%E6%97%B6%E4%BC%9A" style="font-fam

复制class文件到as中出现非法字符,需要class,interface货enum

问题如题,出现此情况是在导入eclipse项目到Android Studio出现这样的错误, 非法字符: '\ufeff' 解决方案|错误: 需要class, interface或enum,查阅后了解到Eclipse可以智能的把UTF-8+BOM文件转为普通的UTF-8文件,Android Studio还没有这个功能,所以使用Android Studio编译UTF-8+BOM编码的文件时会出现" 非法字符: '\ufeff' "之类的错误. 采用手动方式将UTF-8+BOM编码的文件转

proguard.ParseException: Expecting keyword 'class', 'interface', or 'enum' before '-libraryjars' in

执行Maven Install打包的时候,出现以下错误信息: [proguard] proguard.ParseException: Expecting keyword 'class', 'interface', or 'enum' before '-libraryjars' in argument number 7 [proguard] at proguard.ConfigurationParser.readNextWord(ConfigurationParser.java:1206) [pr

启动项目显示:非法字符:'\ufeff' 和需要 class ,interface 或者 enum 错误

原来是因为 Windows 记事本在修改 UTF-8 文件时自作聪明地在文件开头添加 BOM 导致的,所以才会导致 IDEA 不能正确读取 .java 文件从而程序出错. 解决: 找到 xxx. java 文件.使用 notepad++ 打开 ---> 转码 ---> 并保存即可. 启动项目显示:非法字符:'\ufeff' 和需要 class ,interface 或者 enum 错误 原文地址:https://www.cnblogs.com/miantiao312/p/10771806.ht

spring+jax 出现java.io.Serializable is an interface, and JAXB can't handle interfaces

spring+jax 出现java.io.Serializable is an interface, and JAXB can't handle interfaces 原因是我的webservice方法中   有一个BaseEntity虚类 public abstract class BaseEntity<ID extends Serializable> { public abstract ID getId(); public abstract void setId(ID id); 其中get

Error: Expecting keyword &#39;class&#39;, &#39;interface&#39;, or &#39;enum&#39; before &#39;-optimizationpasses&#39; in line 11 of

Error: Expecting keyword 'class', 'interface', or 'enum' before '-optimizationpasses' in line 11 of