Gradle打包的war文件部署到tomcat后运行解压出错的问题

原文出处:http://www.tuicool.com/articles/2IN7NbR

自从用了gradle来构建公司的所有新旧项目,总会涌出一堆各式各样的问题,看似配置比maven简单了,但问题却更多。究其原因,一方面团员成员都比较菜,我要一个一个为他们解决相关问题,但过不了几天,又冒出新问题,没养成自我解决问题的能力,又得找我,作为苦逼的项目经理这一职务,我还真羡慕他们,想当年,哪有谁帮我这样处理问题啊;另一方面是gradle作为开源软件,项目比较活跃,版本更新比较快,但问题也比较多,这次就遇到了编码问题。

说到编码问题,我在这家公司也是深受其害而又无可奈何。首先公司的固有框架比较老,N年未改变,里面utf-8和GBK编码的源码文件都有,当拿过来作为新项目的开发基础框架时,却又要结合现代的gradle、eclipse、tomcat等开发工具,在这个过程中仅编码问题就令人头大,有时真是犯了强迫症,恨不得把老框架里的每个文件编码都改一遍,但老框架是依赖的一个外部封装的jar包,而这个jar包对应的源码SVN库我没有权限。。。

回到正题,最初用gradle时的版本是2.2,当打包时提示编码问题,后来我在build.gradle文件中加入

[compileJava, javadoc, compileTestJava]*.options*.encoding = 'UTF-8'

强制以utf-8编码编译源文件,虽然有警告提示,但编译部署都能成功。最近的项目已经有人在用grade2.6了,随之而来的问题就是:有的人编译就直接报错;有的人有警告但能编译成功,在部署war包时报错。首先值得一提的是,本人一直用的ubuntu,系统默认编码为UTF-8,一直运行良好,而这些小伙伴都是用的中文windows,系统环境默认编码为GBK,在eclipse中开发时各种报错。经过尝试,最终在基于eclipse的gradle插件中配置了一项JVM参数,才使小伙伴们感受到阳光明媚(建议把上面build.gradle文件中的对应配置注释掉):

-Dfile.encoding=UTF-8

Gradle打包的war文件部署到tomcat后运行解压出错的问题_第1张图片


你可能感兴趣的:(Gradle打包的war文件部署到tomcat后运行解压出错的问题)