环境
win7 中文 64位
idea 2008 社区版
jdk 1.8
问题现象
mvn test 进行单元测试,其中读取src\test\resources目录下的xml(声明了utf8,实际文件也是一utf8编码,没有毛病)
但是通过JAXBContext。createUnmarshaller() 进行 unmarshal 时,
报错如下:
Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节 2 无效
idea中所有环境都已经配置成utf-8,在单元测试类文件中通过右键菜单执行test 没有任何问题,但是通过命令行mvn clean test 执行就会报这个错。
解决方案
设置操作系统环境变量
set JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8
问题根源
待续…