博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven 编译 run test的时候控制台输出乱码信息
阅读量:6706 次
发布时间:2019-06-25

本文共 1180 字,大约阅读时间需要 3 分钟。

  hot3.png

直接运行 junit测试用例的时候,输出中文正常

用 eclipse-->run as --> maven test  就出现中文乱码

maven-surefire-plugin是运行mvn test时执行测试的插件,

其有一个配置参数forkMode,默认为once,即表示每次运行test时,新建一个JVM进程运行所有test.

这可能会导致乱码问题.首先将forkMode设置为never,即不新建.再运行mvn test,全部OK了.果然是这个问题!! 

于是再找官方参数说明,发现了argLine参数,这个参数与forkMode一起使用,可以设置新建JVM时的JVM启动参数,

于是设置<argLine>-Dfile.encoding=UTF-8</argLine>,明确指定一下JVM的file.encoding,并将forkMode从never改回once,

还是每次新建一个JVM进程.再次运行mvn test,一起OK了,问题解决.

 

究其原因,是因为MAVEN的maven-surefire-plugin在新建JVM进程后,由于没有指定encoding,

采用了OS的默认编码,导致读取UTF-8文件(测试类的sql脚本文件)时出现乱码

 

部分 pom.xml 代码

org.apache.maven.plugins
maven-surefire-plugin
2.7.2
once
-Dfile.encoding=UTF-8

跳过单元测试

org.apache.maven.plugins
maven-surefire-plugin
2.5
-Dfile.encoding=UTF-8
true

 

 

 

转载于:https://my.oschina.net/mifans/blog/781734

你可能感兴趣的文章
框架设计之菜鸟漫漫江湖路系列 四:江湖学艺(上)
查看>>
C++函数对象
查看>>
游戏寻路算法的简单实现
查看>>
nginx fastcgi 自定义错误页面
查看>>
redis beforesleep
查看>>
hdu 3405 world islands
查看>>
Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法
查看>>
php这样实现伪静态
查看>>
php exif 扩展
查看>>
消息的构造
查看>>
vlc sdl 播放视频可随窗口改变大小
查看>>
ibm rational software architect download
查看>>
Web前端资源汇总
查看>>
python 相关安装和配置
查看>>
jquery的closest方法和parents方法的区别
查看>>
RHEL每天定时备份Oracle
查看>>
SQLPROMPT5.3对各种加密对象的解密测试
查看>>
QR二维码生成器源码(中间可插入小图片)
查看>>
jQuery回溯
查看>>
jquery easy ui 1.3.4 表单(7)
查看>>