2013-08-10 2 views
2

자바 파일을 여러 개 결합하여 다음과 같은 앤트 빌드 파일을 만들었으므로 모듈 코드를 작성할 수 있지만 하나의 js 파일 만 전달할 수 있습니다. 프로젝트에 파일을 저장할 때마다 스크립트가 Eclipse에 의해 자동으로 실행되므로 작업 흐름이 크게 단순 해집니다.JavaScript를 연결하기위한 빌드 Ant 빌드 :

빌드 스크립트가 이클립스에 의해 실행되는 내 문제

, 다 괜찮습니다.

<?xml version="1.0" encoding="UTF-8"?> 
<project name="Build example" default="all" basedir="."> 
    // ... 
    <property name="SRC_JS_DIR" value="${basedir}/js/hvdoo" /> 
    <property name="DIST_JS_DIR" value="${basedir}/js/out" /> 
    <property name="DIST_JS_TMP" value="${basedir}/js/out/tmp" /> 

    // ... 

    <property name="JS_OUT_DEF" value="${DIST_JS_TMP}/__def.js" /> 
    <property name="JS_OUT_CODE" value="${DIST_JS_TMP}/__code.js" /> 
    <property name="JS_OUT_LINKED" value="${DIST_JS_TMP}/__out.js" /> 

    <target name="makeDef"> 
     <concat destfile="${JS_OUT_DEF}"> 
      <fileset dir="${SRC_JS_DIR}" 
       includes="**/__def.js" /> 
     </concat> 
    </target> 

    <target name="makeCode"> 
     <concat destfile="${JS_OUT_CODE}"> 
      <fileset dir="${SRC_JS_DIR}" 
       includes="**/*.js" 
       excludes="**/__*.js" /> 
     </concat> 
    </target> 

    <target name="link"> 
     <concat destfile="${JS_OUT_LINKED}"> 
      <file name="${JS_OUT_DEF}" /> 
      <file name="${JS_OUT_CODE}" /> 
     </concat> 
    </target> 

    // ... 

<target name="quick" depends="makeDef, makeCode, linkToOut"></target> 
(나는 의도적으로 다른 부분을 떠난 :

여기
/home/formigone/html5voodoo/build.xml:38: file attribute is null! 

내 스크립트입니다 : 내가 명령 줄에서 직접 개미를 실행하려고하면, 내가 말하는 오류가 여기서 질문하지 않는 스크립트)

오류 메시지는 링크 대상 안에있는이 줄을 말합니다. 대상 :

<concat destfile="${JS_OUT_LINKED}"> 

은 (는) 파일 특성이 null입니다. 이 경우을 의미합니까? 만약 내가 원하는 파일의 경로가 올바른지 확인할 수 있습니다. 그렇다면 Eclipse CLI에서는 작동하지 않는 이유는 무엇입니까?

감사합니다.

답변

4

<concat> 블록에 개별 파일을 래핑하는 <filelist> 블록이 누락되었습니다. 이제 작업 스크립트는 다음과 같습니다

<target name="link"> 
    <concat destfile="${JS_OUT_LINKED}"> 
     <filelist dir="${DIST_JS_TMP}"> 
      <file name="${JS_OUT_DEF}" /> 
      <file name="${JS_OUT_CODE}" /> 
     </filelist> 
    </concat> 
</target> 

난 아직도 이클립스 실행할 수있는 스크립트를 얻었는지 모르겠지만, 나는 그것이 두 가지 작동하기 때문에 내가 많이 걱정하지 않는다 같아요.