Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ant压缩并覆盖js/css文件_Ant_Yui Compressor - Fatal编程技术网

ant压缩并覆盖js/css文件

ant压缩并覆盖js/css文件,ant,yui-compressor,Ant,Yui Compressor,您好,我正在尝试压缩目录中的所有.css和.js文件,并用相同的名称覆盖原始文件。无连接 我正在使用这段代码,还尝试了许多其他教程,但都不起作用 我试过这个 <target name="css.minify"> <apply executable="java" parallel="false" dest="${builddir}/${NAME}/site/assets/css" verbose="true"> <fileset

您好,我正在尝试压缩目录中的所有.css和.js文件,并用相同的名称覆盖原始文件。无连接

我正在使用这段代码,还尝试了许多其他教程,但都不起作用

我试过这个

<target name="css.minify">
        <apply executable="java" parallel="false" dest="${builddir}/${NAME}/site/assets/css" verbose="true">
            <fileset dir="${builddir}/${NAME}/site/assets/css" includes="**/*.css"/>
            <arg line="-jar"/>
            <arg path="yuicompressor.jar"/>
            <arg line="--line-break 0"/>
            <srcfile/>
            <arg line="-o"/>
            <arg line="-v"/>
            <mapper type="glob" from="*.css" to="*-min.css"/>
            <targetfile/>
        </apply>

        <move todir="${builddir}/${NAME}/site/assets/css" overwrite="true" >
                <fileset dir="${builddir}/${NAME}/site/assets/css" />
                <mapper type="glob" from="*-min.css" to="*.css"/>
                </move>
    </target>
还有这个

<target name="js.minify">
    <apply executable="java" parallel="false">
        <fileset dir="${builddir}/${NAME}/site/assets/js" includes="**/*.js" casesensitive="no"/>
        <arg line="-jar"/>
        <arg path="yuicompressor.jar"/>
        <srcfile/>
        <arg line="-o"/>
        <mapper type="glob" from="*.js" to="*.js"/>
        <targetfile/>
    </apply>


</target>
他们似乎都失败了


我做错了什么?

我在css和js中都使用了这个选项,效果很好:

<apply executable="java" parallel="false">
    <fileset dir="${src.dir}/js" includes="*.js" />
    <arg line="-jar" />
    <arg path="${lib.path}/yuicompressor-2.4.7.jar" />
    <srcfile />
    <arg line="-o" />
    <mapper type="glob" from="*.js" to="${dest.dir}/js/*.js" />
    <targetfile />
</apply>
在js.minify目标中,你共享的文件看起来像是覆盖了js文件。看看mapper标签,小心点

同样在css中,你移动所有的css并在压缩后重命名它们,这可以通过yui压缩目标来完成,看看我的代码


我希望这能有所帮助。

我直接用jar做了一个测试,看看为什么不起作用。 我从命令行了解到这是正确的命令选项序列:

$java -jar WEB-INF/lib/yuicompressor.jar -v -o <destination-file-min.js> <source-file.js>
请注意,如果目标文件的路径父文件夹不存在,则库不会将其创建为java.io.FileNotFoundException

所以,蚂蚁:

    <copy flatten="false" includeemptydirs="true" todir="${js.target.dir}">
        <fileset dir="${js.source.dir}" excludes="**/*.*"  includes="**/*" />
    </copy>
    <apply executable="java"  dest="${js.target.dir}" parallel="false" verbose="true" ignoremissing="true">
            <fileset dir="${js.source.dir}" includes="**/*.js" excludes="**/*-min.js, **/*.min.js"/>
            <arg line="-jar"/>
            <arg path="docroot/WEB-INF/lib/yuicompressor.jar"/> 
            <arg line="-o"/>
            <mapper type="glob" from="*.js" to="*-min.js"/>
            <targetfile/>
            <srcfile/>
     </apply>
需要在应用之前进行复制,以创建目标精简js的相对路径。 请注意,targetfile和srcfile按照jar的预期进行了反转。
我只粘贴了js部分。。对于css也是一样。

你说的似乎失败是什么意思?使用“ant-debug-f yourfile.xml”来获取更多关于发生了什么/似乎失败的细节我的意思是它没有做我描述的它应该做的事情,我仍然得到原始的css/js,而不是压缩的css/js。它实际上并没有缩小所有的js文件。它为我@Android\u Rocks,它删除了注释并将所有内容放在一行中,据我记忆所及,你希望它做什么?它实际上并没有缩小所有的js文件