Ant构build执行cordova

我为我的cordova项目创build了一个ant build,如下所示:

<project default="build"> <target name="init-android"> <exec executable="cordova"> <arg value="platform"/> <arg value="add"/> <arg value="android"/> </exec> <exec executable="cordova"> <arg value="build"/> </exec> </target> </project> 

但是我得到这个错误:

C:\ path_to_project \ build.xml:3:执行失败:java.io.IOException:无法运行程序“cordova”:CreateProcess error = 2,系统找不到在java.lang.ProcessBuilder.start(ProcessBuilder。 java:1029)at java.lang.Runtime.exec(Runtime.java:615)at org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Jav a13CommandLauncher.java:41)

我可以从命令提示符下运行cordova命令,我有:

JAVA_HOME = C:/ Program Files / Java / jdk1.7.0_10 / ANT_HOME = C:\ Program Files \ Java \ apache-ant-1.9.2 NODEJS_HOME = C:\ Program Files \ nodejs

他们都在我的路上。 我不明白为什么它不起作用。 请帮忙。 谢谢

通常,在使用Java应用程序在Windows中启动程序时,通常必须执行cmd.exe ,并将其传递到我实际想要运行的程序的完整路径。 这允许系统环境变量等以您期望的方式进行设置。 尝试这个:

 <project default="build"> <target name="init-android"> <exec executable="cmd.exe"> <arg value="/C"/> <arg value="cordova"/> <arg value="platform"/> <arg value="add"/> <arg value="android"/> </exec> <exec executable="cmd.exe"> <arg value="/C"/> <arg value="cordova"/> <arg value="build"/> </exec> </target> </project> 

如果这还不行,给科尔多瓦的完整路径。 如果你有一个定义的环境变量应该工作。