2014-09-19 103 views
0

我想將文件夾中的所有javascript文件壓縮爲'min.js',但'*'似乎不起作用。以下是我的 '的build.xml'YUI壓縮器將所有JavaScript文件壓縮爲'min.js'

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<project basedir="." default="compressScript" name="compress"> 

    <target name="compressScript"> 

     <exec executable="java" failonerror="true"> 
      <arg line="-jar yui/yuicompressor-2.4.8.jar --nomunge -o '.js$:.min.js' '*.js'"/> 
     </exec> 

    </target> 

</project> 

的錯誤是這樣的:

compressScript: 
[exec] java.io.FileNotFoundException: *.js (No such file or directory) 
[exec]  at java.io.FileInputStream.open(Native Method) 
[exec]  at java.io.FileInputStream.<init>(FileInputStream.java:106) 
[exec]  at java.io.FileInputStream.<init>(FileInputStream.java:66) 
[exec]  at com.yahoo.platform.yui.compressor.YUICompressor.main(YUICompressor.java:133) 
[exec]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
[exec]  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
[exec]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
[exec]  at java.lang.reflect.Method.invoke(Method.java:597) 
[exec]  at com.yahoo.platform.yui.compressor.Bootstrap.main(Bootstrap.java:21) 

如果我改變了 '* .js文件' 到某個名字,如 'example.js',它的壓縮將exmaple.js放入同一個文件夾中的example.min.js。那麼我該怎麼做才能壓縮該文件夾中的所有腳本?

+0

不要把周圍的'* .js'水珠報價,他們保持它得到擴大。 – 2014-09-19 17:26:55

+0

如果我把引號關掉,它仍會拋出相同的錯誤 – diCoder 2014-09-19 17:29:21

回答

0

我用這樣的:

<apply executable="java" parallel="false"> 
     <fileset dir="${root}/js-no-console" includes="*.js"/> 
     <arg line="-jar"/> 
     <arg path="${root}/${tool.yuicompressor}"/> 
     <srcfile/> 
     <redirector alwayslog="true"> 
      <outputmapper type="glob" from="*.js" to="${root}/${js.min.dir}/*-min.js"/> 
     </redirector> 
    </apply>