它正在运行我的build.xml,当弹出错误时我的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。 Composer位于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
答案 0 :(得分:2)
./ phing build.xml
您正在使用目标“build.xml”运行phing。该目标不存在。但是构建文件 phing使用默认存在,即build.xml
。如果您想使用不同的构建文件名运行phing,则必须使用选项-f
或--buildfile
,然后使用您要使用的文件的名称。
由于现有目标“build”是默认执行的,因此您根本不需要命名任何目标。
./phing
会这样做。
./phing build
也可以,明确命名要执行的目标。