2

我已经为 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?)

我已经尝试过使用旧的 DOS 8.3 技巧,PROGRA~1而不是Program Filesbbwp.propertiesandproject.properties文件中使用。这些似乎都没有帮助。

有什么想法可能存在问题吗?

4

2 回答 2

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 版本确实是您认为的版本。

于 2013-05-13T15:27:39.407 回答
0

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

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

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

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

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

于 2013-08-19T16:35:18.873 回答