蚂蚁建立执行科尔多瓦

Duc*_*Duc 3 windows ant cordova

我为我的cordova项目创建了一个Ant构建,如下所示:

<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>
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个错误:

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

我可以从命令提示符下毫无问题地运行cordova命令,我有:

JAVA_HOME = C:/程序文件/Java/jdk1.7.0_10/ ANT_HOME = C:\程序文件\ Java \ apache-ant-1.9.2 NODEJS_HOME = C:\程序文件\ nodejs

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

joe*_*cii 5

通常,当使用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>
Run Code Online (Sandbox Code Playgroud)

如果仍然无法解决问题,请提供科尔多瓦的完整路径。如果定义了一个环境变量,则该变量应该起作用。