我正在尝试使用Ant和YUI Compressor连接和缩小我的JavaScript文件。下面是我在build.xml中编写的代码:
<project name="personal-web" default="js_compress"
basedir="/Users/samsung/Oct4/personal-web">
<property name="js_source" value="${basedir}/src/main/webapp/js" />
<property name="target" value="${basedir}/target/yuicompressor" />
<property name="yui.dir" value="${basedir}/local-dir/yuicompressor-2.4.2.jar"/>
<mkdir dir="${target}"/>
<echo>15</echo>
<!-- Individual file Compression -->
<target name="default_minify" depends="">
<echo>Phase 1: Bundling Default JS Files</echo>
<concat destfile="${target}/default_concat.js" fixlastline="true" force="true"
eol="unix">
<filelist dir="${js_source}/">
<file name="defaultjs/multiselect.js" />
<file name="defaultjs/jquery.jqGrid.src.js" />
</filelist>
</concat>
<!-- Remove loggers -->
<echo>Phase 2: Filtering Firebug statements.</echo>
<copy filtering="true" file="${target}/default_concat.js"
tofile="${target}/default.js">
<filterchain>
<trim />
<striplinecomments>
<comment value="console." />
</striplinecomments>
</filterchain>
</copy>
<!-- Final compression -->
<echo>Phase 3: Minifying JavaScript source code.</echo>
<apply executable="java" dest="${js_source}" parallel="true">
<fileset dir="${target}">
<patternset>
<include name="default.js"/>
</patternset>
</fileset>
<arg line="-jar"/>
<arg path="${yui.dir}"/>
<arg line="--charset UTF-8"/>
<arg line="-v"/>
<srcfile/>
<arg line="-o"/>
<mapper type="glob" from="*.js" to="*-min.js"/>
<targetfile/>
</apply>
</target>
<target name="js_compress" depends="default_minify">
</target>
</project>
问题是虽然没有错误,但是无法创建最终的压缩JavaScript文件。我也看到no main manifest attribute...
。
以下是Ant输出的屏幕截图:
我跟着Sample Ant Build和Using Ant to Build a JavaScript Library,但仍然没有运气。
你能帮帮我吗?
答案 0 :(得分:0)
我可以通过从Here
下载yui-compressor-2.4.7来解决此问题答案 1 :(得分:0)
你能试试!!
答案 2 :(得分:0)
<apply>
任务旨在为多个文件多次运行命令。
您似乎正在尝试为一个文件一次运行Java程序。 <java>
task更适合这个:
<java jar="${yui.dir}" fork="true">
<arg value="--charset"/>
<arg value="UTF-8"/>
<arg value="-v"/>
<arg value="${target}/default.js"/>
<arg value="-o"/>
<arg value="${js_source}/default-min.js"/>
</java>