"java" 命令正在执行,但 "javac" 命令未执行

"java" command is getting executed but not "javac" command

我的问题看起来与 java-comand-works-but-not-javac 相似,但与我故意从 "path" 变量和 "JAVA_HOME" 中删除 java bin 目录的方式不同,因此 "java" 和 "javac" 不应该在没有给出 "javac" 或 "java" 的完整路径的情况下执行。但是 "java" 仍然被执行。对于 "javac" 它正在抛出 'javac' is not recognized as an internal or external command, operable program or batch file.

但是 "java" 它显示 C:\Users\Nandi_Gaurav>java -version java version "1.6.0_17" Java(TM) SE Runtime Environment (build 1.6.0_17-b04) Java HotSpot(TM) Client VM (build 14.3-b01, mixed mode, sharing)

我想知道原因。我正在使用 "Windows-7" .

您需要安装 Java 开发工具包 (JDK),它提供 javac 来编译您的 java 代码。您拥有主要用于 运行 java 程序的 Java 运行时环境 (JRE)。

这个问题可能有帮助:javac : command not found

Java 可以从安装在您系统的其他路径中的 JRE 执行。

Javac 是 JDK 的一部分,因此您应该安装它,并设置适当的路径。

如果问题是 java 运行 当你不希望它 1 时,打开一个 cmd window 并执行:

C:\USERS\Nandi_Gaurav\Documents>where java
C:\Windows\System32\java.exe

您几乎肯定会看到 Windows 系统目录中安装了一个。

这就是为什么它仍在执行,即使您认为您已将其从路径中删除。

如果您真的想要删除它,请删除它(假设它在 JRE/JDK 目录中仍然可用)或将其重命名为 nojava.exe.

无论您做什么,都不要从您的路径中删除c:\windows\system32,这将导致所有各种问题:-)


1您的问题可能也可能是javac不是运行,在这种情况下JDK可能没有安装。但是,根据您的问题,这似乎不是问题 - 当您尝试禁用它们时,您更关心 运行 的事情,而不是 运行 之外的事情应该是。

我认为您的 'Path'-变量仅用于 javac。

Java-windows 中的配置可以在这里找到: Explanation on java.com

最可能的问题可能是您使用的是 JRE 而不是 JDK。

当您下载 java 时,您可以将其作为 jre(Java Runtime Environment) 或 jdk(Java Development Kit) 获取。

如果您只想 运行 java 一台机器上的程序,请安装 JRE。

如果你想开发,编译和运行一个java程序安装JDK。

都可以从 oracle.Link 下载 JDK 1.6

http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR