使用ant编译java文件时报非法字符(不可见的)问题
 
最简单的方法:
一般来说错误信息会提示非法字符的位置,可以在eclipse里面切换java文件的编码方式,比如:ISO-8859-1,等编码,可以观察到指定位置的非法字符。删除非法字符即可编译通过。
对于较少文件适用
-------------------------------------------------
另外补充:
一般用UE或记事本编辑过的UTF-8的文件头会加入BOM标识,该标识由3个char组成。在UTF-8的标准里该BOM标识是可有可无的,Sun 的javac 在编译带有BOM的UTF-8的格式的文件时会出现“非法字符:/65279”的错误,但是用Eclipse进行编译却没有问题,原因在于Eclipse使用的是自己的JDT,而非javac,关于JDT的描述可以到eclipse的官网上去查看。
下载editplus,打开你的java源文件(可以打开多个文件),选择“文档”-“文件编码”-“批量更改文件编码…”选择所有你需要修改的编码的java源文件,选择字符集“UTF-8″记得是UTF-8,而非“utf-8 bom”。点击批量保存按钮。再运行你的ant脚本,此时编译就不会报出“非法字符:/65279”这个错误了。

出现这种情况时,网上提供了两种解决方法: 
a) 利用UE、Editplus等文本编辑器重新保存文件为不带BOM的UTF-8格式 
b) 可使用eclipse自带的编译器进行编译 
<!--在ant中添加property,使用eclipse jdt compiler编译--> 
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" /> 
相关jar包,在eclipse安装文件plugins目录下:org.eclipse.jdt.core_xxx.jar,xxx为版本号

最新文章

  1. xml类型使用注意事项
  2. Deepin 15.3 编译同步SudaMod 2.0
  3. New library for Matlab - test
  4. 免费的HTML5连载来了《HTML5网页开发实例详解》连载(二)
  5. 设置windows网络连接别名和linux网络连接别名
  6. UITableview 多行删除
  7. 奶牛通讯 usaco 网络流
  8. LaTeX 标题中使用 \bm 命令与 hyperref 的冲突
  9. C# mvc 验证码2
  10. cer, pfx 创建,并且读取公钥/密钥,加解密 (C#程序实现)
  11. windows同一台电脑设置多个公钥与不同github帐号交互
  12. [LeetCode]题解(python):072-Edit Distance
  13. Redis学习——redis.conf 配置文件介绍
  14. RobotFramework下的http接口自动化Get Response Status 关键字的使用
  15. 【CJOJ2316】【模板】可持久化线段树
  16. 将docker镜像上传到docker hub
  17. plugin-barcodescanner 报错
  18. Log4J Appender - 将Log4J的日志内容发送到agent的source
  19. [leetcode]Convert Sorted List to Binary Search Tree @ Python
  20. java基础小测试

热门文章

  1. chrome ui源码剖析-Accelerator(快捷键)
  2. cocos 主循环
  3. Jenkins CI CD
  4. C#编程小结----集合的小小总结
  5. .NET:不要使用扩展方法扩展Object对象。
  6. pthread_attr_init线程属性
  7. JS --- 三目运算符
  8. 【机器学习算法-python实现】矩阵去噪以及归一化
  9. 自己用图片做的可旋转、不确定进度的ProgressBar
  10. HTML5 本地文件操作之FileSystemAPI实例(三)