2013-07-12 1 views
0

이것은 진정 YUI 관련 질문이 아닙니다.앤트 매퍼가 이스케이프 된 경로를 반환 함

여러 JS 파일에 대해 YUI Compressor (사실 .jar 응용 프로그램)를 사용하려고합니다. 해당 파일을 자동으로 가져오고 싶습니다 (build.xml의 모든 파일 이름 지정과 반대). 윈도우에서 \ 분리가 이스케이프 문자로 사용됩니다 :

<?xml version="1.0" encoding="utf-8"?> 
<project name="CUIProject" default="prod"> 

<target name="-load.properties"> 
<loadproperties> 
    <file file="minify.properties"/> 
</loadproperties> 
</target> 

<!--Minify JS files--> 
<target name="-js.minify"> 
<apply executable="java" parallel="false" dest="${build.dir}"> 
    <fileset dir="${src.dir}"/> 
    <mapper> 
     <globmapper from="*.js" to="*-min.js" handledirsep="yes"/> 
    </mapper> 
    <arg value="-jar"/> 
    <arg path="${minifier.dir}"/> 
    <srcfile/> 
    <arg value="-o"/> 
    <targetfile/> 
</apply> 
</target> 


<!--Build--> 
<target name="prod" 
depends=" 
-load.properties, 
-js.minify 
"> 
</target> 
</project> 

문제 때문에 <targetdir/>이 어떻게 든 이스케이프 어떤 이유로 나는 FileNotFound 예외를 얻을 수 있습니다 :

여기 내 build.xml 파일입니다 그래서 내 길은 단지 하나의 아주 큰 단어이기 때문입니다.

어떻게 이러한 동작을 피할 수 있습니까?

답변

2

나는 YUI와 동일한 문제가있었습니다. 내가 찾은 가장 쉬운 방법은 Ant-Contrib<for> 작업을 사용하는 것입니다.

또한 <pathconvert> 작업을 살펴보십시오. 이렇게하면 하나의 OS에서 다른 OS로 경로 구분 기호가 변환됩니다. 이로 인해 문제가 해결 될 수 있습니다. Ant의 설명서에있는 File Mapper page에는 <pathconvert>을 사용하는 몇 가지 예제가 들어 있습니다.

+0

지금까지 여러 가지 시도를했는데 YUI 압축기가 자동으로 대상 폴더를 만들지 않는다고 생각합니다. 이것이 원인 일 수 있습니까? – Dragos

+0

@Dragos 매우 잘 될 수 있으며 수정하기가 쉽습니다. ''작업을' '작업 전에 추가하기 만하면됩니다. 여기서 나는 같은 디렉토리를 사용하고 있지만, 다른 디렉토리를 사용하고 있는지는 이해할 수 있습니다. 나는 내 프로그램에서 잘라내어 붙여 넣기 때문에 내가 여기있는 것은 효과가 있다고 말할 수있다. –

관련 문제