Failed to run JAVA even though path is set on Windows 8 Enterprise - Cordova

15,550

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 path C:\Program Files\Java\jdk1.8.0_05\bin make sure the bin is included
  • JAVA_HOME needs to be set to the root of that Java installation folder, in my case C:\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

Share:
15,550
Bogdan Rybak
Author by

Bogdan Rybak

Updated on July 24, 2022

Comments

  • Bogdan Rybak
    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 or cordova 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.