我已经为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~1
和Program Files
文件中使用bbwp.properties
代替project.properties
的旧DOS 8.3技巧。这似乎都没有帮助。
问题可能存在的任何其他想法?
答案 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安装,也会在编译时导致错误。
将值更改为这些文件中的正确路径以解决问题。
建议在非空白路径中安装所有这些东西,因为这可能会导致其他编译问题。