歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Ant編譯Java文件時報非法字符問題的解決方法

問題概述

在ant編譯時,有時會提示非法字符錯誤,而我們看到代碼,又看不到什麼非法字符,編譯不能通過。

解決方法

一般用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為版本號 c)用DW關聯Notepad++,必要的時間用notepad++裡的“轉化為utf-8無bom編碼格式”

Apache Ant 的詳細介紹:請點這裡
Apache Ant 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved