Failed to run JAVA even though path is set on Windows 8 Enterprise - Cordova
Solution 1
There was a bad entry in the path that corrupted my whole system path.
C:\Program Files\Microsoft SQL Server\110\Tools\Binn";C:\Program Files\Microsoft\Web Platform Installer\;
Seems like that quotation mark is an entry added by SQL Server installation or web platform. I never added those to the path so it might be the installers fault?
Solution 2
After I ran into the same issue, the following steps seems to have fixed it:
PATH
needs to contain the bin folder of the Java installation pathC:\Program Files\Java\jdk1.8.0_05\bin
make sure thebin
is includedJAVA_HOME
needs to be set to the root of that Java installation folder, in my caseC:\Program Files\Java\jdk1.8.0_05
Solution 3
In my case, i had multiple java instalations, and whenever i tried to print "echo %java_home%" command on command prompt, it always used to return "%java_home%" as it is.
So i uninstalled all the java versions and then installed it again, and whoola, it worked.
Hope this helps someone.
Solution 4
In my case, It said "JAVA_HOME variable is unvalid, C:\Program Files\Java\jdk1.7.0_51". Then I added a quotation mark to JAVA_HOME. Just like "C:\Program Files\Java\jdk1.7.0_51". Finally It works. May This can be helpful
Bogdan Rybak
Updated on July 24, 2022Comments
-
Bogdan Rybak almost 2 years
I have made a new Ionic / Cordova project and I'm trying to build it on windows 8.1. I installed JDK and JRE 7 as well as android sdk and ant and added them to my path using the following instructions.
cordova platform add android not working while listing Android targets
When I execute
ionic platform add android
orcordova
I am still getting the following error: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.
I tried modifying both system variables and user PATH variables.
THE WEIRD THING is that I can type in
java -version
and it works: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)
I am using nodist to manage npm if that is of any relevance.