maven的编码问题、解决和疑问

08-08-18 freebox
今天帮人弄了一个单元测试,名字叫做OffDateContractTest
开始一切顺利,在eclipse里编译并运行通过,等到了maven test的时候我傻了,咋整的还有不识别的GB18030编码,于是检查pom,发现他最开始没加入<encoding>UTF-8</encoding>,加上之后以为能通过,结果又出了个"非法字符: \65279",显然这是utf8文件开头那点东西。
最后查了资料,用editplus->文档->固定设置->文件->utf8识别标识->总是删除
这下好了,maven test测试通过,因为格式不太规整,又在eclipse里格式化一下,保存,maven测试就又出非法字符的提示。
我在eclipse里新建别的文件,用maven测试都行,咋就这个叫OffDateContractTest.java的文件不行呢?而且就算我用editplus删除utf8标识,然后用eclipse打开,关闭,啥都没改的情况下用maven测试就告诉非法字符,这是为啥呢?

banq
2008-08-21 10:39
eclipse 也要统一UTF-8

对于Java搞定字符编码唯一武器就是统一所有环节的编码为UTF-8

freebox
2008-08-22 07:59
eclipse设置utf8了,是不是同样为utf8,有的有控制码有的没有?
因为我拿editplus同样都保存成utf8编码的文件,有控制码的比没有控制码的多了3字节,但是都叫utf8。我对这些不了解,反正知道问题是出在这,但是不明白为啥java文件一叫那个名就总是保存成带控制码的,好像是eclipse记忆了那个文件似的,在我的电脑上删除控制码之后就再没有了,在他的电脑上就总有,我还不知道在哪改。一有控制码maven就识别不了。

liubin19820808
2008-10-29 18:44
maven 编码插件好象是有bug.如果文件名是以Application开头的话一般没什么问题。你运行
mvn test -Dtest=*OffDateContractTest,应该是可以的