使用ant打包发布WAR时,可以对js和css进行自动压缩,主要是使用了yuicompressor-2.4.2.jar这个jar,还要记住一点是一定要加上arg line="--charset utf-8",要不可能会乱码
<?xml version="1.0" encoding="UTF-8"?> <project name="MyTask" basedir="." default="compress-js"> <property name="src.dir" value="./testres" /> <property name="target.dir" value="./target/aa" /> <property name="yuicompressor" value="./antlibs/yuicompressor-2.4.2.jar" /> <target name="compress-js"> <apply executable="java" parallel="false" failonerror="true" dest="${target.dir}" append="false" force="true"> <!--多个子目录压缩--> <!--单个文件压缩--> <fileset dir="${src.dir}/" includes="**/*.js"/> <arg line="-jar" /> <arg path="${yuicompressor}" /> <arg line="--charset utf-8" /> <arg line="-o" /> <targetfile /> <srcfile /> <mapper type="glob" from="*.js" to="*.js" /> <!--只压缩去掉空格,不混淆--> </apply> </target> <target name="compress-css"> <apply executable="java" parallel="false" failonerror="true" dest="${src.dir}" append="false" force="true"> <!--单个文件压缩--> <fileset dir="${src.dir}/"> <include name="1.css" /> <include name="2.css" /> </fileset> <!--多个子目录压缩--> <fileset dir="${src.dir}/" includes="css1/*.css"/> <fileset dir="${src.dir}/" includes="css2/*.css"/> <arg line="-jar" /> <arg path="${yuicompressor}" /> <arg line="--charset utf-8" /> <srcfile /> <arg line="-o" /> <mapper type="glob" from="*.css" to="*.css" /> <targetfile /> </apply> </target> </project>
参考:http://simon-fish.iteye.com/blog/2233944