繁体   English   中英

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

[英]Cannot run Java from the Windows PowerShell command prompt

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

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

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

    后跟一个;

笔记:

%version% means the java version.

进行 2 个环境变量更改:

  1. 添加等于以下内容的JAVA_HOME变量: C:\\Java\\JDK1.7.0_25_x64
  2. %JAVA_HOME%\\bin添加到PATH变量的开头。

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

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

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

您需要设置Java类路径:

参考:

如何设置类路径?

或者:

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

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

如果设置了环境变量或您已适当地获取环境,则问题是在 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 字节码必须在没有扩展名的情况下执行, .\\用于文件执行。

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

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

我通过重新安装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 电源外壳

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

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

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

我的问题是我必须重新启动我的终端,之后它就可以工作了。

我希望这对遇到同样问题的任何人都有帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM