【问题标题】:Why the command 'java' is executed even when no path is set?为什么即使没有设置路径也会执行命令“java”?
【发布时间】:2013-08-06 20:26:52
【问题描述】:

如果未设置路径,则命令提示符中的命令 `javac' 会导致

'javac' 未被识别为内部或外部命令, 可运行的程序或批处理文件。

而命令java 已成功执行。

平台:Windows XP

【问题讨论】:

  • 在哪个操作系统上? Java 是如何安装的?
  • 你有 JRE,但没有 JDK。

标签: java command-prompt


【解决方案1】:

如果这是一台 Windows 机器并且您已经安装了 JDK,那么可能发生的情况是安装程序将 java.exe 的副本放在系统目录中,即包含在 PATH 中,例如 C:\WINDOWS\system32

安装程序会执行此操作,因此您无需进一步设置即可运行 Java 程序。编译器没有给予相同的处理,不知道为什么。

【讨论】:

  • 这是我一直在寻找的答案。谢谢。
  • 不,javac.exe 不会复制到系统目录中。
  • @CodeEnthusiastic 你能检查你的System32 并验证这一点吗?我碰巧都安装了,但我没有在那里找到java.exe
  • @RaviThapliyal 我可以在 System 32 中看到这些文件。 java javacpl javaw javaws 那里。但是System32中没有javac.exe。
  • @CodeEnthusiastic 感谢您回复此问题。为你的伴侣 +1。
【解决方案2】:

可能表明机器安装了 Java 运行时环境 (JRE) 但未安装 JDK。 javac 和其他与 Java 开发相关的程序(如 javadocjarsigner 等)是 Java 开发工具包的一部分,而不是 JRE。

【讨论】:

  • @AshishAggarwal,为什么,这是答案?
  • @AshishAggarwal。这就是问题的答案。
  • 我想你误解了我的问题。我在问:如果我没有设置路径,那么为什么执行命令“java”,为什么不执行“javac”?
  • @CodeEnthusiastic 运行echo %PATH%,您可能会在您的路径上找到jre/bin 目录。
  • @DownVoter,这当然不是一个错误的答案。无论如何,谢谢。
【解决方案3】:

如果机器有JRE,那么一旦你安装了整个jdkjava 命令就会起作用,它包含javac 的路径。

如果只安装了JRE,则java.exe 位于PATH 变量下,类似于C:\Program Files (x86)\Java\jre1.6.0_43\bin,这就是java 工作的原因。在命令提示符下尝试以下命令。

 > echo %PATH%

【讨论】:

    猜你喜欢
    • 2020-07-20
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    相关资源
    最近更新 更多