无法从Windows PowerShell命令提示符运行Java

时间:2013-05-29 10:20:39

标签: powershell java

我的计算机上安装了Java(JRE位于C:\Program Files\Java下)但我无法从Windows PowerShell命令提示符运行任何java命令。

>>> java -version
java : The term 'java' is not recognized as the name of a cmdlet, function, script file, or operable program. Check
the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ java
+ ~~~~
    + CategoryInfo          : ObjectNotFound: (java:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

但是,我注意到Java确实有效,并且我可以在旧的Windows命令提示符下运行Java命令。原来它只是PowerShell,我无法运行这些命令。

我有JRE 7,我在Windows 8上使用Windows PowerShell。

10 个答案:

答案 0 :(得分:4)

  • 在运行对话框中,输入 sysdm.cpl
  • 在出现的窗口中,导航至 Advanced 标签。单击 Environment Variables 按钮。
  • 将java安装的位置(bin目录)添加到 PATH 变量。

    ;%ProgramFiles%/Java/jre%version%/bin
    

    后跟;

注意:

%version% means the java version.

答案 1 :(得分:2)

您需要修改“PATH”环境变量,以单向添加“java”bin位置 通过命令提示符 set path=%path%;<your java bin location>;

但这只会针对您当前的终端会话设置。

答案 2 :(得分:2)

您需要设置Java类路径:

参考:

How to set class path?

或者:

Link-2: How to set class path?

答案 3 :(得分:2)

进行2次环境变量更改(不只是一次):

1.  Add a JAVA_HOME variable equal to something like:  C:\Java\JDK1.7.0_25_x64
2.  Add %JAVA_HOM%\bin to the beginning of your PATH variable.

然后,启动一个全新的shell以查看是否已应用更改。

答案 4 :(得分:1)

如果设置了环境变量或者您已恰当地获取了环境,则问题是在shell中执行文件:

javac .\HelloWorld.java      //That is a file, so it can be ./

java HelloWorld              //Not the correct file name, so it will not execute, and so must call it as in MSDOS

HelloWorld.class上不能.\,因为必须在没有扩展名的情况下执行Java字节码,.\用于执行文件。

答案 5 :(得分:1)

我通过重新安装Git-2.8.2-64-bit.exe解决了此问题 并遵循以下指示! https://learn.adafruit.com/windows-tools-for-the-electrical-engineer/git-plus-command-line-tools

然后我通过导航到控制面板/ system / Advanced选项卡添加了上面提到的代码c:\ Program Files \ Java \ jdk-11.0.3 \ bin 单击环境变量,然后单击系统变量,并查找路径,然后对其进行编辑。 然后添加了c:\ Program Files \ Java \ jdk-11.0.3 \ bin,现在所有的东西都可以在Windows PowerShell和MinGW64中为我工作!看到它起作用的图像! Windows power shell

答案 6 :(得分:0)

将其添加到添加到classpath环境变量的C:/ Program Files / Java / jre7 / bin中。 应该解决它。

答案 7 :(得分:0)

如果它在常规shell中工作但在PowerShell中不工作,可能在安装或设置路径时打开了PowerShell,只需关闭PowerShell并重新打开一个新的路径即可获取新路径。

答案 8 :(得分:0)

如果它在cmd中工作,但在PowerShell中不工作,您的JDK路径条目可能在引号中

answer to another question所述,转到系统变量,编辑路径的原始文本,然后简单地删除引号。

答案 9 :(得分:0)

如果在运行脚本时发生这种情况,请在脚本内编辑 JAVA_HOME 的值。

示例: [string] $java_home = "C:\env\java\jdk-1.8.0.222",