无法使用Ant和YUI Compressor应用JavaScript缩小

时间:2015-12-30 14:28:35

标签: javascript ant yui-compressor

我正在尝试使用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输出的屏幕截图:

ANT BUILD

我跟着Sample Ant BuildUsing Ant to Build a JavaScript Library,但仍然没有运气。

你能帮帮我吗?

3 个答案:

答案 0 :(得分:0)

我可以通过从Here

下载yui-compressor-2.4.7来解决此问题

答案 1 :(得分:0)

你能试试!!

YUI Compress master

答案 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>