今天上班遇到这么一个情况:
compile:
[javac] Compiling 134 source files to C:\JBuilder2008\workspaces\UBSS\classes
[javac] C:\JBuilder2008\workspaces\UBSS\src\com\guanghua\framework\controller\SpringDelegate.java:1: 非法字符: \65279
[javac] ?package com.guanghua.framework.controller;
[javac] ^
[javac] 1 错误
BUILD FAILED
便以失败,网上有如下帖子,可以解决。(方法一,可能因为editplus版本不对,所以失败。方法二,可以用,能够顺利解决)
众所周知,在跨程序的工程中,统一编码是至关重要的,而目前最普遍的则是统一采用“utf8”编码方案。
但是在采用utf8方案的时候,请注意编辑器的自作聪明。
比如editplus。
原因就在于某些编辑器会往utf8文件中添加utf8标记(editplus称其为签名),它会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM),它的表示的是 Unicode 标记(BOM)。
因此要解决这个问题的关键就是把这个标记选项去掉。
方法有两种
a) 利用UE、Editplus等文本编辑器重新保存文件为不带BOM的UTF-8格式
b) 可使用eclipse自带的编译器进行编译
因editplus的版本不同:选项不同,配置略有差异
1)
首先用editplus打开这个文件,从Doucument菜单中选择Permanet
Settings,有三个分类,分别是General,File, Tools.点击File,右边会有一项是 UTF-8 signature: 选择
always remove signature. 点击OK
中文版本的 editplus 下操作的菜单结构如下: 文档->参数设置->文件->UTF-8签名->总是移除签名->确定
这样就设置了UTF-8格式不需要在文件前面加标记。
最后把文件另存为utf-8格式就好了.
2)下载editplus,打开你的java源文件(可以打开多个文件),选择“文档”-“文件编码”-“批量更改文件编码…”选择所有你需要修改的编码的java源文件,选择字符集“UTF-8″记得是UTF-8,而非“utf-8 bom”。点击批量保存按钮。
英文版是:
使用eclipse自带的编译器进行编译
转自:http://blog.163.com/minghwa_lee@126/blog/static/1305212012011814105649116/
分享到:
相关推荐
使用java解决 java: 非法字符: '\ufeff“ 问题
主要介绍了java读取文件:char的ASCII码值=65279,显示是一个空字符的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
java非法字符过滤器,对非法字符进行过滤
java.lang.OutOfMemoryError: Java heap space 解决方法
最近纠结致死的一个java报错java.net.SocketException: Connection reset 终于得到解决
java.security.InvalidKeyException: Illegal key size 解决方案
搜集整理关于java错误处理:java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError: Java heap space 资料整理
java.net.SocketException Connection reset 解决方法
RSA加密报出非法字符长度的解决方案,下载当前两个jar包,在jdk安装目录下替换之前的jar包以及JRE下面的两个包,比如C:\Program Files\Java\jdk1.8.0_102\jre\lib\security和C:\Program Files\Java\jre1.8.0_102\lib...
在oracle里面运行一下,解决Exception java.sql.SQLException ORA-00600 内部错误代码
JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES解决方法,三种方案,临时,永久,根治
《Java测试新技术:TestNG和高级概念》通过针对有效测试Java应用程序以及围绕可测试性来设计应用程序和组件展示了这些有效的测试技术,并给出了每种测试方法的优点和不足,展示了解决常见问题的不同选择。《Java测试...
创建String字符串 ...含义:字符串常量直接初始化一个String对 象,赋值给引用变量,s1指向字符串对象。 字符串变量中存储的是对象的地址。 例 1: String str = "Hello Java"; // 结果:Hello Java Strin
过滤器过滤用户输入的非法字符,如“” “%” “+”等需要的两个类XssFilter.java和XssHttpServletRequestWrapper.java
问题描述:文件名.java:1: 错误: 编码GBK的不可映射字符
linux系统下部署TOMCAT异常错误java.net.UnknownHostException :bogon: bogon 主要原因是主机映射原因 修改hosts文件即可
可以将字符串中的重复字符去除。程序设计精致,涉及到集合、集合foreach方法迭代、instanceof操作符的使用,适合Java初学者作为学习资料。
JAVA大学简明教程:实例程序设计.pdf
其他编译器的java项目导入idea时,经常出现非法字符: \65279 ,通常直接remove BOM,操作即可。但是有时非常顽固不生效。配合我的这个说明,用这个jar包,配置好了后,然后在重新remove BOM。(个人实验的是win64...
Java大学简明教程:实例程序设计.rar