今天使用CI做版本構建時候碰到了這樣一個問題,有個activity對應的java源碼始終編譯報錯,錯誤發生在文件第一行。
出錯內容是:
*.java:1: 非法字符: \65279
[javac] package com.*.*;
[javac] ^
[javac] 1 錯誤
對於這個錯誤,我一看就下意識的認為是文件的第一行有隱藏字符。於是把第一行刪掉重新添加上,結果依然報同樣的錯。
后面上網看了,原來是文件編碼問題。這一個java文件的編碼格式是UTF-8 BOM格式的。其它源碼的編碼格式都正常。很奇怪的說。
因為是在mac機器上跑,沒找到像windows上的notepad++之類的比較好用的可以轉編碼的文本編輯器。所以就通過在eclipse中修改文件編碼的方式來改了,具體如下:
先在eclipse的 project explorer中選中這個java文件,在右鍵菜單中選中“properties”,在彈出框中,將文件的編碼“text encoding”更改為ISO-8859-1,這樣,源碼文件的頭部的隱藏字節馬上顯示成亂碼就出來了。把亂碼刪掉之后,重新將文件編碼改為UTF-8即可。