Jenkins之PMD查询代码源码中文乱码问题

Jenkins、Maven、PMD三者集成的时候,查询PMD结果,进入源码里面的时候,发现源码中的中文注释都是乱码,如下图所示:
Jenkins之PMD查询代码源码中文乱码问题_第1张图片

解决办法:在JENKINS_HOME目录下有个jenkins.xml配置文件,其中有一个配置项如下:
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8888</arguments>
在中间加入 -Dfile.encoding=utf-8 参数,即变成下面

<arguments>-Xrs -Xmx256m -Dfile.encoding=utf-8  -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8888</arguments>

然后重启Jenkins服务,乱码问题就解决了。

导致原因:是由于Jenkins不知道源码文件编码方式,所以默认使用了系统编码,即是GBK,两边编码方式不一致,导致乱码。在Jenkins启动的时候,指定系统的默认编码为Utf-8,这样就不会乱码了。

------------------------------------------------------------------------
安装上面那样做,是可以解决PMD查看源码的时候,不乱码,但是查看控制台日志的时候,还是有乱码,最后还是把  -Dfile.encoding=utf-8 这个参数去掉,在配置jenkins项目PMD插件的时候,有个Default Encoding,如下图:
Jenkins之PMD查询代码源码中文乱码问题_第2张图片
最终在查看源码以及控制台日志的时候,中文都不会有乱码了

你可能感兴趣的:(Jenkins)