毕设中ant遇到的各种问题

          由于毕设中前端JS的库是我自己写的,当时用到了一些工具,如yuicompressor,jsTestDriver等等,所以顺便也使用ant去部署前端的应用了。

          在ant中,遇到问题的地方在于CSS和JS的压缩,由于CSS压缩采用了yui compressor,JS压缩采用了googleclosurecompiler,我对ant中怎么集成它们不是很熟,所以遇到了一点问题。

          首先是CSS的压缩,最开始的时候一直报: java.io.FileNotFoundException: I:\code\Current-Coding\beauty\code\beauty-static\css\build\global-min.css (系统找不到指的文件。)

          这个问题纠结了我好长时间,终于今天搞定了,直接贴代码吧:


<target name = "minifyCss" depends="copyToBuild">
		<!--
		yui compressor使用如下:
		java -jar yuicompressor-x.y.z.jar myfile.js -o myfile-min.js
		-->
		<echo>begin to minify css:</echo>
		<apply executable = "java" verbose = "true" dest = "${toper.build.dir}" failonerror = "true" parallel = "false">
			<fileset dir = "${toper.build.dir}" includes = "**/*.css" />
			<arg line = "-jar" />
			<arg path="${toper.tools.dir}/yuicompressor.jar" />
			<arg line = "--charset utf8" />
			<srcfile />
			<arg value = "--type" />
			<arg value = "css" />
			<arg value = "-o" />
			<targetfile />
			<mapper type = "glob" from = "*.css" to = "*-min.css" />
		</apply>
	</target>
          这个是我最终的配置项,最开始的这个问题在于没有指定srcfile,然后每次它都会去找targetfile,也就是xx-min.css,而这个文件是不存在的,所以就抛出异常了。


         srcfile没问题之后,后面遇到了一个压缩始终只能压缩一个文件的问题,经各种debug,终于发现要把parallel的值设为false,原来我的值为true.

          压缩JS的配置项为:


<target name = "minifyJs" depends="copyToBuild">
		<!--google closure compiler的使用如:
				java -jar compiler.jar
				\\-\\-js hello.js \\-\\-js_output_file hello-compiled.js
		-->
		<apply executable="java" dest = "${toper.build.dir}">
			<fileset dir = "${toper.build.dir}" includes="**/*.js" />
			<arg line = "-jar" />
			<arg path = "${toper.tools.dir}/googleclosurecompiler.jar" />
			<arg value = "--js" />
			<srcfile />
			<arg value = "--js_output_file" />
			<targetfile />
			<mapper type = "glob" from = "*.js" to = "*-min.js" />
		</apply>
	</target>
        之前的问题是没有指定<arg value = "--js" /><srcfile/>,也就是说和css的问题是一样的。



你可能感兴趣的:(xml,压缩,ant,明庭令)