Ant编译错误:illegal character

本文介绍了一个在使用Ant打包Java项目时遇到的非法字符错误:`error:illegalcharacter:65279`。该问题源于Windows平台对UTF-8文件的特殊处理,在文件开头添加了额外的字节。文章提供了具体的解决方案,即如何去除这些额外字节,以确保文件能在Unix/Linux环境下正确解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!--StartFragment-->Java开发中常常会在不同的平台中遇到一些平台差异引起的错误,今天用Ant打包Java项目时出现以下异常:

`error: illegal character: \65279`

原因是其中有几个文件是之前在Windows平台上新建的类,Windows对UTF-8文件进行了特殊处理,即对UTF-8的文本文件自动在前面加了两个字节(FF FE),而在Unix/Linux下标准的UTF-8文件没有这两个字节。

解决办法是去掉这两个字节就好。

如:用Sublime Text打开这个文件,然后如下图所以重新保存文件即可。



 

 


<!--EndFragment-->

Output: error:exit status 1 main.java:1: error: illegal character: '#' # 验证安装 ^ main.java:2: error: class, interface, or enum expected xcode-select --install ^ main.java:4: error: illegal character: '\u251c' ├── HelloWorld ^ main.java:4: error: illegal character: '\u2500' ├── HelloWorld ^ main.java:4: error: illegal character: '\u2500' ├── HelloWorld ^ main.java:5: error: illegal character: '\u2502' │ ├── ViewController.swift # 主逻辑代码 ^ main.java:5: error: illegal character: '\u251c' │ ├── ViewController.swift # 主逻辑代码 ^ main.java:5: error: illegal character: '\u2500' │ ├── ViewController.swift # 主逻辑代码 ^ main.java:5: error: illegal character: '\u2500' │ ├── ViewController.swift # 主逻辑代码 ^ main.java:5: error: illegal character: '#' │ ├── ViewController.swift # 主逻辑代码 ^ main.java:6: error: illegal character: '\u2502' │ ├── Main.storyboard # 可视化界面设计 ^ main.java:6: error: illegal character: '\u251c' │ ├── Main.storyboard # 可视化界面设计 ^ main.java:6: error: illegal character: '\u2500' │ ├── Main.storyboard # 可视化界面设计 ^ main.java:6: error: illegal character: '\u2500' │ ├── Main.storyboard # 可视化界面设计 ^ main.java:6: error: illegal character: '#' │ ├── Main.storyboard # 可视化界面设计 ^ main.java:7: error: illegal character: '\u2502' │ └── Assets.xcassets # 图片资源 ^ main.java:7: error: illegal character: '\u2514' │ └── Assets.xcassets # 图片资源 ^ main.java:7: error: illegal character: '\u2500' │ └── Assets.xcassets # 图片资源 ^ main.java:7: error: illegal character: '\u2500' │ └── Assets.xcassets # 图片资源 ^ main.java:7: error: illegal character: '#' │ └── Assets.xcassets # 图片资源 ^ main.java:8: error: illegal character: '\u251c' ├── Products ^ main.java:8: error: illegal character: '\u2500' ├── Products ^ main.java:8: error: illegal character: '\u2500' ├── Products ^ main.java:9: error: illegal character: '\u2514' └── HelloWorldTests # 单元测试 ^ main.java:9: error: illegal character: '\u2500' └── HelloWorldTests # 单元测试 ^ main.java:9: error: illegal character: '\u2500' └── HelloWorldTests # 单元测试 ^ main.java:9: error: illegal character: '#' └── HelloWorldTests # 单元测试 ^ main.java:11: error: '.' expected import UIKit ^ main.java:12: error: ';' expected class ViewController: UIViewController { ^ main.java:12: error: class, interface, or enum expected class ViewController: UIViewController { ^ main.java:12: error: class, interface, or enum expected class ViewController: UIViewController { ^ main.java:14: error: class, interface, or enum expected @IBOutlet weak var myLabel: UILabel! // 关联Storyboard中的Label ^ main.java:27: error: illegal character: '#' button.addTarget(self, action: #selector(buttonClicked), for:... 这是上个代码的运行结果
最新发布
07-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值