PhoneGap CreateProcess构建错误。 C:\找不到程序

时间:2013-05-08 03:00:02

标签: java cordova blackberry ant

我已经为BlackBerry制作PhoneGap应用程序大约一年了。突然,构建过程遇到了这样的错误:

build:
     [exec] [INFO]                      Parsing command line options
     [exec] [INFO]                      Parsing bbwp.properties
     [exec] [INFO]                      Validating application archive
     [exec] [INFO]                      Parsing config.xml
     [exec] [WARNING]                   Failed to find the <author> element
     [exec] [INFO]                      Populating application source
     [exec] [INFO]                      Compiling BlackBerry WebWorks applicatio
n
     [exec] I/O Error: Cannot run program "C:\Program": CreateProcess error=2, T
he system cannot find the file specified
     [exec] [ERROR]                     RAPC exception occurred

我怀疑这可能与最近的Java更新有关(Java 7可能?)

我已尝试在PROGRA~1Program Files文件中使用bbwp.properties代替project.properties的旧DOS 8.3技巧。这似乎都没有帮助。

问题可能存在的任何其他想法?

2 个答案:

答案 0 :(得分:1)

我在互联网上看到其他一些人问同样的问题,所以我会在这里发布我的解决方案,以防将来帮助那些解决问题的人。

问题的根源似乎与升级到Java 7有关。它与Apache Ant的组合会挂起带有空格的文件路径。经过数小时的修补,最好的解决方案是重新安装Java,Apache Ant,WebWorks和PhoneGap。每个都放在C:\驱动器根目录下的文件夹中,文件名中没有空格。

C:
 ├ \ant
 ├ \java
 ├ \phonegap
 └ \webworks

一旦我有了这个组织结构,并重置了所有环境变量(PATH,JAVA_HOME,ANT_HOME等),这些构建都开始重新开始了。只需确保更新项目文件夹中的project.properties文件。

<强>更新

使用DOS Where命令查看Java驻留在硬盘驱动器上的位置也可能会有所帮助。

> where java

在我的例子中,JAVA_HOME路径指向Java 1.6,但是从命令行(java -version)检查Java版本显示Java 1.7正在运行。原因是Java.exe已经安装在我的C:\ Windows \ System32文件夹中(为什么?),并且由于该文件夹是我的PATH变量中的第一个条目,因此该版本的java.exe就是运行的。总是

底线:使用DOS Where命令确保ANT运行的java版本确实是您认为的版本。

答案 1 :(得分:0)

问题是Webworks安装程序将 JAVA PATH 复制到几个文件中:

installvariables.properties (<java>XXXXXXXXXXX</java>)
bin\bbwp.properties (Java_Home=XXXXXXXXXXXX)

即使您更改了PATH变量和JAVA安装,也会在编译时导致错误。

将值更改为这些文件中的正确路径以解决问题。

建议在非空白路径中安装所有这些东西,因为这可能会导致其他编译问题。