我刚刚将java文件夹添加到我的环境变量中。当我尝试从Windows命令行(cmd)执行javac HelloWorld.java
和java HelloWorld
时,它会正常执行。但是,如果我打开Windows Powershell并执行相同操作,它会说:
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
另外,如果我在cmd中编译HelloWorld.java,则可以从Powershell运行java HelloWorld
。
如何从Powershell执行javac?
答案 0 :(得分:2)
验证您从powershell中的$ env:path获得的内容。也来自cmd echo%path% 如果在powershell路径中不包含javapath,请确保正确添加。
答案 1 :(得分:0)
重新安装Java(相同的版本/安装程序)为我修复了这个问题。无需重启。
答案 2 :(得分:0)
PATH中的JDK条目可能在引号中。
我遇到了同样的问题,在PowerShell中运行$env:Path
给了我一个像
C:\Program Files\FooBar;"C:\Program Files\Java\jdk1.8.0_92\bin";C:\Program Files (x86)\Example\whatever;...
请注意JDK条目是如何引用的,但其他条目不是。显然,cmd可以解决这个问题,但不支持PowerShell。