13

我的机器上安装了 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。

4

10 回答 10

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

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

    其次是;

笔记:

%version% means the java version.
于 2013-05-29T10:36:37.827 回答
6

进行 2 个环境变量更改:

  1. 添加一个JAVA_HOME类似于以下内容的变量: C:\Java\JDK1.7.0_25_x64
  2. 添加%JAVA_HOME%\binPATH变量的开头。

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

于 2013-08-29T17:35:16.223 回答
3

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

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

于 2013-05-29T10:26:45.523 回答
2

您需要设置 Java 类路径:

参考:

如何设置类路径?

或者:

Link-2:如何设置类路径?

于 2013-05-29T10:27:18.073 回答
1

将其C:/Program Files/Java/jre7/bin添加到类路径环境变量中。

于 2013-05-29T10:22:49.827 回答
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 字节码必须在没有扩展名的情况下执行,.\用于文件执行。

于 2014-10-23T04:47:21.897 回答
1

我通过重新安装Git-2.8.2-64-bit.exe 并按照这些说明解决了这个问题!https://learn.adafruit.com/windows-tools-for-the-electrical-engineer/git-plus-command-line-tools

然后我添加了上面提到的代码c:\Program Files\Java\jdk-11.0.3\bin

  • 通过导航到控制面板/system/Advanced选项卡
  • 单击“环境变量”,然后单击“系统变量”
  • 并寻找Path编辑和
  • 然后添加c:\Program Files\Java\jdk-11.0.3\bin

在那之后,现在一切都在 Windows PowerShell 和 MinGW64 中为我工作!查看它的工作图像:Windows 电源外壳

于 2019-06-23T17:28:50.990 回答
1

如果它在 cmd 中有效,但在 PowerShell 中无效,则您的 JDK 路径条目可能在引号中

另一个问题的答案中所述,转到系统变量,编辑Path的原始文本并简单地删除引号。

于 2018-02-03T20:14:01.203 回答
0

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

于 2013-05-29T10:34:06.397 回答
0

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

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

于 2021-06-21T06:37:06.813 回答