即使在Windows 8 Enterprise – Cordova上设置path,也无法运行JAVA

我已经做了一个新的Ionic / Cordova项目,我正试图在Windows 8.1上构build它。 我安装了JDK和JRE 7以及android sdk和ant,并使用以下说明将它们添加到我的path中。

cordova平台添加Android不工作,同时上市Android目标

当我执行ionic platform add androidcordova我仍然收到以下错误:

 C:\Users\BogdanR\.cordova\lib\android\cordova\3.4.0\bin\node_modules\q\q.js:126 throw e; ^ Error: Failed to run 'java -version', make sure your java environment is set up including JDK and JRE. Your JAVA_HOME variable is C:\Program Files\Java\jdk1.7.0_51 Error: Command failed: 'java' is not recognized as an internal or external command, operable program or batch file. at C:\Users\BogdanR\.cordova\lib\android\cordova\3.4.0\bin\lib\check_reqs.js:62:22 at ChildProcess.exithandler (child_process.js:641:7) at ChildProcess.EventEmitter.emit (events.js:98:17) at maybeClose (child_process.js:743:16) at Socket.<anonymous> (child_process.js:956:11) at Socket.EventEmitter.emit (events.js:95:17) at Pipe.close (net.js:466:12) Error: cmd: Command failed with exit code 8 at ChildProcess.whenDone (C:\nodist\bin\node_modules\cordova\src\superspawn.js:112:23) at ChildProcess.EventEmitter.emit (events.js:98:17) at maybeClose (child_process.js:743:16) at Process.ChildProcess._handle.onexit (child_process.js:810:5) Unable to add platform android. Please see console for more info. 

我试着修改系统variables和用户PATHvariables。

WEIRD THING是我可以键入java -version ,它的工作原理:

 java version "1.7.0_51" Java(TM) SE Runtime Environment (build 1.7.0_51-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode) 

我使用nodist来pipe理npm,如果这是相关的。

我遇到同样的问题后,下面的步骤似乎已经解决了它:

  • PATH需要包含Java安装路径C:\Program Files\Java\jdk1.8.0_05\bin的bin文件夹,确保包含bin
  • JAVA_HOME需要设置为该Java安装文件夹的根目录,在我的情况下是C:\Program Files\Java\jdk1.8.0_05

在我的情况下,我有多个Java instalations,每当我试图在命令提示符上打印“echo%java_home%”命令,它总是用来返回“%java_home%”照原样。

所以,我卸载了所有的Java版本,然后再次安装它,和whoola,它的工作。

希望这有助于某人。

有一件事你可以尝试的是将这个变量JAVA_HOME设置为C:\ Program Files \ Java \ jdk1.7.0_51 \ bin

由于您正在使用Windows,您可以到控制面板进行更新。

您可以运行java -version可能是因为它包含在用户的路径中。

就我而言,它说“JAVA_HOME变量是无效的,C:\ Program Files \ Java \ jdk1.7.0_51”。 然后我给JAVA_HOME添加了一个引号。 就像“C:\ Program Files \ Java \ jdk1.7.0_51”一样。 最后它的工作。 可能这会有所帮助

路径中有一个坏的条目损坏了我的整个系统路径。

C:\Program Files\Microsoft SQL server\110\Tools\Binn";C:\Program Files\Microsoft\Web Platform Installer\;

看起来像引号是SQL server安装或Web平台添加的条目。 我从来没有添加这些路径,所以它可能是安装程序的错误?