ant 自动打包 报错 错误: 非法字符: '\ufeff'

weixin_36497340 2016-10-24 04:03:38
今天 用ant打包我们单位的项目 报以下的错

[mkdir] Created dir: /home/pet/source/build/classes
[javac] Compiling 403 source files to /home/pet/source/build/classes
[javac] /home/pet/source/src/com/ht/pet/order/service/NewOrderService.java:1: 错误: 非法字符: '\ufeff'
[javac] package com.ht.pet.order.service;
[javac] ^
[javac] /home/pet/source/src/com/ht/pet/order/service/NewOrderService.java:1: 错误: 需要class, interface或enum
[javac] package com.ht.pet.order.service;
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:22: 错误: 编码utf-8的不可映射字符
[javac] *URL
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:22: 错误: 编码utf-8的不可映射字符
[javac] *URL
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:22: 错误: 编码utf-8的不可映射字符
[javac] * URL
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:22: 错误: 编码utf-8的不可映射字符
[javac] * URL
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:22: 错误: 编码utf-8的不可映射字符
[javac] * URL
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:22: 错误: 编码utf-8的不可映射字符
[javac] * URL
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:22: 错误: 编码utf-8的不可映射字符
[javac] * URL
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:22: 错误: 编码utf-8的不可映射字符
[javac] * URL
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:22: 错误: 编码utf-8的不可映射字符
[javac] * URL
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:22: 错误: 编码utf-8的不可映射字符
[javac] URL
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:22: 错误: 编码utf-8的不可映射字符
[javac] URL
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:22: 错误: 编码utf-8的不可映射字符
[javac] *URL
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:22: 错误: 编码utf-8的不可映射字符
[javac] * URL
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:22: 错误: 编码utf-8的不可映射字符
[javac] * URL
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:42: 错误: 编码utf-8的不可映射字符
[javac] //ȥ&
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:42: 错误: 编码utf-8的不可映射字符
[javac] //ȥ&
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:42: 错误: 编码utf-8的不可映射字符
[javac] //ȥ&
[javac] ^
Ϣ
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:44: 错误: 编码utf-8的不可映射字符
[javac] // Ϣ
[javac] ^
[javac] /home/pet/source/src/com/tenpay/PackageRequestHandler.java:44: 错误: 编码utf-8的不可映射字符
[javac] // Ϣ
[javac] ^
[javac] 29 个错误

BUILD FAILED
/home/pet/source/build.xml:25: Compile failed; see the compiler error output for details.

Total time: 2 seconds



build.xml 配置 如下

<?xml version="1.0" encoding="UTF-8" ?>
<!-- 删除build路径-->
<copy todir="/home/pet/source/conf_demo">

<!-- 建立build/classes路径,并编译class文件到build/classes路径下-->
<target name="compile" depends="deleteBuild">
<mkdir dir="${classes}" />
</javac>

<!-- 打war包-->
<target name="war" depends="compile">
<war warfile="${build}/nojar.war" webxml="WebRoot/WEB-INF/web.xml" encoding="utf-8">
<!-- 拷贝WebRoot下除了WEB-INF和META-INF的>两个文件夹-->
<fileset dir="WebRoot" includes="**/*.jsp"></fileset>
<!--<fileset dir="WebRoot" includes="**/*.*" excludes="META-INF,WEB-INF"/>-->
<!-- 拷贝lib目录下的jar包-->
<!--<lib dir="${lib}" />-->
<!-- 拷贝build/classes下的class文件-->
<classes dir="${classes}" />
</war>
</target>

<!-- 删除build/下的classes下的字节码文件,减少war包的总大小-->
<target name="deleteClasses" depends="war">
<!--<delete dir="${classes}"></delete>-->
</target>
</project>

...全文
637 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ipqtjmqj 2016-10-24
  • 打赏
  • 举报
回复
我没仔细看,如果要求编码为utf-8,那另存为时选utf-8即可,需不需要bom我就不清楚了,一般linux都是utf-8编码而且不带bom。 而你编译报错的\ufeff是utf-16小端的bom。 bom是byte order mark,就是在文本文件开头多出的几个字节,用于表示后面用的是什么编码,Windows上的记事本另存为unicode编码时,就会自动加上bom
ipqtjmqj 2016-10-24
  • 打赏
  • 举报
回复
这个字符是UTF-16小端的BOM,你可以找个编辑器,另存UTF-16小端without BOM,或者叫without signature. 或者找个能修改文件二进制的软件,把开头的2个字节删掉即可

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧