Java 错误 Javac Is Not Recognized as an Internal or External Command, Operable Program or Batch File
本文介绍了 Java 的 'javac' is not recognized as an internal or external command, operable program or batch file 的可能原因以及该错误的可能解决方案。 首先,我们来看看 javac 是什么。
Java 中的 Javac
Javac 是 Oracle 公司开发的 JDK(Java 开发工具包)中包含的主要 Java 编译器。 javac 这个名字的发音是 java-see。
源代码必须符合编译器接受的 JL(Java 语言标准)。 然后编译器将源代码转换为与 JVM(Java 虚拟机规范)兼容的 Java 字节码。
环境变量
像 windir=C:WINDOWS
这样的键值对是一个环境变量。 其中大多数与操作系统打包在一起,有些是设备按预期方式运行所必需的。
当启动任何包含 cmd 的程序时,它们的列表将作为参数提供给它。 Windows 为用户提供了两个环境变量选项。
- 用户环境变量
- 系统环境变量
'javac' is not recognized as an internal or external command, operable program or batch file
当您键入系统路径中不存在的命令时,Windows 命令行中会出现此标准错误。 在这种情况下,会出现错误,因为用于编译 Java 源文件和创建类文件的 javac 命令不存在于 PATH 中。
检查这一点的最佳方法是使用以下命令。
echo %PATH%
当您可以在 PATH 环境变量中找到 JDK 安装文件夹或 JAVA HOME 时,您就可以访问包含的 bin 目录。 该目录包含编译和运行 Java 程序所需的所有 java 二进制文件,例如 javac 和 java 命令。
如果是这种情况,您必须将 JDK 文件夹的 bin 文件夹添加到您的 PATH 中。 可能是您的 PATH 不包含 JDK 或 bin 目录。
'javac' is not recognized as an internal or external command, operable program or batch file 的原因
当命令提示符无法在其当前工作环境中找到 Java PATH 变量时,会发生此错误。 以下是一些可能的原因。
- 系统上没有 JDK(Java 开发工具包)。 这通常是由于用户错误地假设 Java 编译器 (javac) 与 JRE(Java 运行时环境)一起安装而导致的。
-
看来 javac 的路径尚未指定或设置不正确。 系统必须知道 javac 的位置才能使用命令提示符编译代码并确保其他应用程序服务器实用程序按预期运行。
在这种情况下,您必须手动设置位置。
- 使用不正确的目录设置 PATH 是另一个潜在的错误原因。 例如,路径可能缺少正斜杠或完全包含其他内容。
'javac' is not recognized as an internal or external command, operable program or batch file 的解决方法
让我们解决这个问题,以便可以从命令行编译并启动Java程序。
- 要在 Windows 上调出命令提示符,请单击“开始”按钮,选择“运行”窗口,键入 sysdm.cpl,然后单击“确定”以打开“系统属性”。
- 导航到“系统属性”窗口的“高级”选项卡,然后单击“环境变量”。
- 单击刚刚弹出的环境变量窗口中系统变量标题下的新建按钮。
- 在“新建系统变量”窗口中,将变量 JAVA_HOME 作为其名称,并指定包含 JDK 软件的目录路径作为其值。 只需单击“确定”按钮即可保存更改。
- 一旦我们导航回环境变量窗口,搜索位于系统变量标题下名为路径的变量。 选择 Path 变量时单击“编辑”按钮。
- 要创建新的环境变量,请使用该变量的“编辑”窗口中的“新建”按钮。
- 创建新的环境变量后,将其命名为%JAVA_HOME%\bin,然后按Enter键。 之后,单击“确定”。
- 完成此步骤后,Java环境就配置完成了。 应用程序将能够从命令提示符进行编译。
确保 Java 环境变量路径已配置并可供使用。 可以按照以下步骤检查以确定您的配置是否正常运行。
- 要在 Windows 上打开命令提示符,请单击“开始”按钮,选择“运行”窗口,键入 cmd,然后单击“确定”。
-
在窗口中,键入
echo %JAVA_HOME%
,然后按 Enter 键以查看收到的结果。 如果有打印出 JDK 的目录,则可以放心 JAVAC 运行正确。
相关文章
如何在 Java 中延迟几秒钟的时间
发布时间:2023/12/17 浏览次数:217 分类:Java
-
本篇文章主要介绍如何在 Java 中制造程序延迟。本教程介绍了如何在 Java 中制造程序延时,并列举了一些示例代码来了解它。
如何在 Java 中把 Hashmap 转换为 JSON 对象
发布时间:2023/12/17 浏览次数:187 分类:Java
-
它描述了允许我们将哈希图转换为简单的 JSON 对象的方法。本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。
如何在 Java 中按值排序 Map
发布时间:2023/12/17 浏览次数:171 分类:Java
-
本文介绍了如何在 Java 中按值对 Map 进行排序。本教程介绍了如何在 Java 中按值对 Map
进行排序,并列出了一些示例代码来理解它。
如何在 Java 中打印 HashMap
发布时间:2023/12/17 浏览次数:192 分类:Java
-
本帖介绍了如何在 Java 中打印 HashMap。本教程介绍了如何在 Java 中打印 HashMap 元素,还列举了一些示例代码来理解这个主题。
在 Java 中更新 Hashmap 的值
发布时间:2023/12/17 浏览次数:146 分类:Java
-
本文介绍了如何在 Java 中更新 HashMap 中的一个值。本文介绍了如何在 Java 中使用 HashMap 类中包含的两个方法-put() 和 replace() 更新 HashMap 中的值。
Java 中的 hashmap 和 map 之间的区别
发布时间:2023/12/17 浏览次数:79 分类:Java
-
本文介绍了 Java 中的 hashmap 和 map 接口之间的区别。本教程介绍了 Java 中 Map 和 HashMap 之间的主要区别。在 Java 中,Map 是用于以键值对存储数据的接口,
在 Java 中获取用户主目录
发布时间:2023/12/17 浏览次数:218 分类:Java
-
这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。
Java 中 size 和 length 的区别
发布时间:2023/12/17 浏览次数:179 分类:Java
-
这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。
Java 中的互斥锁
发布时间:2023/12/17 浏览次数:111 分类:Java
-
了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,