我已经为 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?)
我尝试了在 bbwp.properties
和 中使用
文件。这些似乎都没有帮助。PROGRA~1
而不是 Program Files
的旧 DOS 8.3 技巧>project.properties
关于问题可能出在哪里的任何想法?
最佳答案
我在 Internet 上看到其他几个人问过同样的问题,所以我会在这里发布我的解决方案,以防将来遇到问题的人有所帮助。
问题的根源似乎与升级到 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 版本 (java -version
) 显示正在运行 Java 1.7。原因是 Java.exe 已安装在我的 C:\Windows\System32 文件夹中(为什么?),并且由于该文件夹是我的 PATH 变量中的第一个条目,所以运行的是该版本的 java.exe。总是。
底线:使用 DOS Where 命令确保 ANT 运行的 java 版本确实是您认为的版本。
关于java - PhoneGap CreateProcess 构建错误。 C :\Program not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16431972/