I just added the java folder to my Environment Variables. When I try to execute, for example, javac HelloWorld.java
and java HelloWorld
from the Windows command line (cmd), it executes normally. But if I open Windows Powershell and do the same, it says:
javac : The term 'javac' is not recognized as the name of a cmdlet, function, script file, or operable program. Check t
he spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ javac HelloWorld.java
+ ~~~~~
+ CategoryInfo : ObjectNotFound: (javac:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Also, if I compile HelloWorld.java in cmd, it is possible to run java HelloWorld
from the Powershell.
How can I execute javac from the Powershell?
The JDK entry in your PATH might be in quotes.
I had the same problem, and running
$env:Path
in PowerShell gave me an output likeNote how the JDK entry is in quotes, but others are not. Apparently, cmd can deal with this, but PowerShell not.
How to fix
Verify what you got from $env:path in powershell. Also from cmd echo %path% If javapath is not contain in powershell path, make sure you add properly.
Reinstalling Java (same version/installer) fixed this for me. No reboot was required.