PhoneGap CreateProcess构建错误.C:程序未找到



我为黑莓开发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可能?)

我尝试了旧的DOS 8.3技巧,在bbwp.propertiesproject.properties文件中使用PROGRA~1而不是Program Files。这些似乎都无济于事。

你知道问题还可能在哪里吗?

我在网上看到一些人在问同样的问题,所以我把我的解决方案贴在这里,以防将来对那些遇到这个问题的人有所帮助。

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

C:
 ├ ant
 ├ java
 ├ phonegap
 └ webworks

一旦我有了这个组织结构,并重置了所有的环境变量(PATH、JAVA_HOME、ANT_HOME等),构建就又开始工作了。只要确保你更新了你的项目。

更新:

使用DOS Where命令查看Java在硬盘上的位置也可能很有帮助。

> where java

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

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

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

installvariables.properties (<java>XXXXXXXXXXX</java>)
binbbwp.properties (Java_Home=XXXXXXXXXXXX)

这将导致编译时出现错误,即使您已经更改了PATH变量和JAVA安装。

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

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

相关内容

  • 没有找到相关文章

最新更新