2013-10-29 1 views
0

내 build.xml이 실행 중입니다. 오류가 발생하여 내 build.xml이 누락 된 경우 ...이 말이 타당하지 않습니다.Phing이 내 build.xml을 실행하는 이유는 무엇입니까?

<project name = "php_project" default = "build" > 
    <!-- ============================================ --> 
    <!-- Target: prepare --> 
    <!-- ============================================ --> 
    <target name = "prepare" > 
     <echo msg = "Making directory ./target" /> 
     <mkdir dir = "./target" /> 
    </target> 
    <!-- ============================================ --> 
    <!-- Target: build --> 
    <!-- ============================================ --> 
    <target name = "build" depends = "prepare" > 
     <echo msg = "Copying files to build directory..." /> 
     <echo msg = "Copying ./src/main/php/lib to ./target/lib directory..." /> 
     <copy file = "./src/main/php/lib" tofile = "./target/lib" /> 
     <echo msg = "Copying ./src/main/php/webapp to ./target/webapp directory..." /> 
     <copy file = "./src/main/php/webapp" tofile = "./target/webapp" /> 
    </target> 
</project> 

필자는 PHP-Maven 파일 구조를 사용하고 있지만 PHP-Maven이 죽어서 Phing으로 전환 중임을 알 수 있습니다. 작성기는 src/main/php/lib/vendor에 있습니다. 내 build.sh :

#!/bin/sh 
./phing build.xml 

출력 :

$ ./build.sh 
Buildfile: ./build.xml 
Override ignored for user property phing.file 
Override ignored for user property phing.dir 
Adding reference... 
    +Task definition: ... 
    +User datatype: ... 
    +Target: prepare 
    +Task: echo 
    +Task: mkdir 

BUILD FAILED 
exception 'BuildException' with message 'Target 'build.xml' does not exist in this project.' in php_project/src/main/php/lib/vendor/phing/phing/classes/phing/Project.php:935 
Stack trace: 
#0 php_project/src/main/php/lib/vendor/phing/phing/classes/phing/Project.php(867): Project->_tsort('build.xml', Array, Array, Array, Array) 
#1 php_project/src/main/php/lib/vendor/phing/phing/classes/phing/Project.php(817): Project->_topoSort('build.xml', Array) 
#2 php_project/src/main/php/lib/vendor/phing/phing/classes/phing/Project.php(797): Project->executeTarget('build.xml') 
#3 php_project/src/main/php/lib/vendor/phing/phing/classes/phing/Phing.php(574): Project->executeTargets(Array) 
#4 php_project/src/main/php/lib/vendor/phing/phing/classes/phing/Phing.php(172): Phing->runBuild() 
#5 php_project/src/main/php/lib/vendor/phing/phing/classes/phing/Phing.php(272): Phing::start(Array, NULL) 
#6 php_project/src/main/php/lib/vendor/phing/phing/bin/phing.php(43): Phing::fire(Array) 
#7 php_project/src/main/php/lib/vendor/phing/phing/bin/phing(20): require_once('php_project/...') 
#8 {main} 

Total time: 0.0560 seconds 

답변

2

./phing의 build.xml

당신은 목표 "build.xml 파일"로 phing 실행하고 있습니다. 이 타겟이 존재하지 않습니다. 그러나 파일을 사용하면 기본값으로 존재하는 phing이 사용됩니다 (build.xml). 다른 빌드 파일 이름으로 phing을 실행하려면 -f 또는 --buildfile 옵션을 사용하고 사용하려는 파일의 이름을 사용해야합니다.

기존 대상 "빌드"가 기본값으로 실행되므로 모든 대상의 이름을 지정할 필요가 없습니다.

./phing.

./phing build 또한 실행할 대상을 명시 적으로 지정하면됩니다.

+0

Phing을 설치하고 archive_tar를 작동시키려는 것 사이에 어딘가에 있다고 생각합니다. 원래는 수동으로 잡아 당 겼기 때문에 -f 플래그를 잃어 버렸습니다 (http://www.phing.info/docs/stable/hlpdf). /manual.pdf), 26 페이지를 읽고 build.sh 파일에 넣으십시오. 물론, 나는이 build.sh 파일을 여러 번 이동하여 archive_tar 오류를 수정하려고 시도하고 편집하고 삭제했습니다. – NobleUplift

관련 문제