2013-07-29 34 views
6

我得在下的文件:\ BIN \ test.js我想压缩和重新命名测试min.jsANT +的YUICompressor路径错误

我的蚂蚁构建。 XML看起来是这样的:

<property name="temp.dir" value="C:\Bin\"/> 

<apply executable="java" parallel="false" dest="${temp.dir}"> 
    <fileset dir="${temp.dir}" includes="test.js"/> 
    <arg line="-jar"/> 
    <arg path="${yui.dir}"/> 
    <srcfile/> 
    <arg line="-o"/> 
    <mapper type="glob" from="*.js" to="*-min.js"/> 
    <targetfile/> 
</apply> 

我得到以下Java错误:

[应用] java.io.FileNotFoundException:Bintest-min.js:\ BIN \ test.js(文件名,目录名称或卷标语法不正确)

我已经尝试过每种路径和文件名的组合,我可以拿出来。我错过了什么?它看起来像是剥离出来的C:\和第二个\

而且我知道YUI的工作原理,因为我可以从命令行手动执行。

+0

直接前往这个答案http://stackoverflow.com/a/19339287/672455接受的答案没有好处 – hop

回答

11

我就遇到了这个问题的YUICompressor 2.4.8

有在2.4.8其中知道错误它不处理由ant生成的引用路径。

回到2.4.7修复了我的问题。你可以在这里下载2.4.7: https://github.com/yui/yuicompressor/downloads

您可以在这里找到问题的讨论: http://www.yuiblog.com/blog/2013/05/16/yuicompressor-2-4-8-released/

“新版本2.4.8无法解析正确地引用的Windows文件名2.4.7工作正常。例如,命令java -jar yuicompressor-2.4.8.jar“d:\ work \ common_source.js”-charset utf-8 -disableoptimizations -v -o“d:\ work \ common.js”给出错误java.io. FileNotFoundException:workcommon.js:\ work \ coomon_source.js(文件名,目录名称或卷标语法不正确)。不幸的是,这使得它完全无法使用。“

而且YUI压缩机的缺陷就在这里: https://github.com/yui/yuicompressor/issues/78

+0

从2.4.8降级到2.4.7为我工作。谢谢! – CleanUp

+1

这就是真正的答案,如果你像我一样努力奋斗,你会感谢这个家伙! – euther

+0

即使在我发布了相同信息的其他答案中,我将其切换为接受的答案。我为后代做这件事。 – Chenzo

1

我碰到这些种类在过去的问题,尝试升级后/斌

+0

没有好。我试过了。这是'逃避'的目的地路径...所以而不是c:\ Bin \ test-min.js它说Bintest-min.js – Chenzo

+1

我撒谎。谢谢@EGHM--解决了它。我必须将目标路径和目标路径都设置为/ Bin,并且它可以工作。 (我可以发誓我已经试过了。) – Chenzo

+2

经过一些更多的测试 - 实际上,当我回到yuicompressor-2.4.7.jar时,它实际上与yuicompressor-2.4.8.jar有关。希望在以太网中帮助那里的人。 – Chenzo