找不到 Javac

Posted

技术标签:

【中文标题】找不到 Javac【英文标题】:Javac is not found 【发布时间】:2013-03-22 16:51:14 【问题描述】:

我运行的是 Windows 8,但无法让 javac 工作。

我已将环境变量中的 PATH 设置为

C:\Program Files (x86)\Java\jdk1.7.0_17\bin

我尝试过使用和不使用';'但无济于事。

我最近在我的桌面上遇到了这个问题并添加了 ;工作,但不是在这种情况下。

我已经确定 javac 也确实存在于 bin 中。

任何有关修复的建议将不胜感激。

编辑 echo %PATH% 给出:

C:\Users\Arktri\Desktop>echo %PATH%

C:\Program Files (x86)\Intel\iCLS Client\;
C:\Program Files\Intel\iCLS Client\;
C:\Windows\system32;C:\Windows;
C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;
C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;
C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;
C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;;
C:\Program Files (x86)\Java\jre7\bin

确切的错误是:'javac' 不是内部或外部命令、可运行程序或批处理文件。

【问题讨论】:

你能启动一个shell,输入echo %PATH%并发布结果吗? 您看到的错误是什么?说“我无法 [它] 工作”并不能告诉我们任何有关问题的信息。 双分号可能是个问题。 路径中有多余的空间吗?我可以看到:Program Files there... confluence.atlassian.com/display/DOC/… 【参考方案1】:

据我所知,您的PATH 中有JRE,但没有JDK

在命令提示符下试试这个:

set PATH=%PATH%;C:\Program Files (x86)\Java\jdk1.7.0_17\bin

然后再次尝试javac - 如果可行,您需要永久修改您的环境变量以使PATH 也包含JDK

【讨论】:

您能否在此处包含如何永久执行此操作的信息? 我第一次发布这个答案时应该有,但我建议看看下面的@user4611364 答案。这样做会永久设置它(假设您使用的是 Windows)【参考方案2】:
    转到我的电脑; 右键属性; 进入高级系统设置; 转到环境变量; 在用户变量中点击新建(顶部新按钮,而不是系统变量); 设置变量名为:Path 将该变量的值设置为:C:\Program Files\Java\jdk1.7.0_76\bin 点击确定; 点击确定; 点击确定。

现在你准备好了。在 cmd 中输入 javac。将显示所有 javac 选项。

编辑:正如@MediaMaker 指出的那样,完成上述步骤后,您需要打开一个新的命令提示符才能使其工作。

【讨论】:

请注意,如果您已经打开了一个 cmd 并尝试使用它,它似乎不起作用。您需要打开一个新的 cmd。【参考方案3】:

最简单的方法:在windows搜索栏搜索javac.exe。然后复制并粘贴整个文件夹名称并将其添加到高级系统设置中的环境变量路径中。

【讨论】:

【参考方案4】:

我搜索了很多建议我输入 cmd 的答案:

set path = "%path%;c:program files\java\jdk1.7.0\bin"

但这是错误的!

正确的解决方案是您离开“设置”并输入

path = %path%;c:program files\java\jdk1.7.0\bin

P/s:当然,您必须将“jdk1.7.0”文件夹替换为您当前的 java 版本文件夹。这在 win 7 32bit 上运行良好,但我认为它也适用于 win 8 - 试试吧!

【讨论】:

【参考方案5】:

首先打开一个 cmd.exe 会话,将目录更改为包含 javac.exe 可执行文件并运行 .\javac.exe 的“程序文件”目录。

如果这不起作用,请重新安装 java。如果可行,您很可能会发现(在执行该任务时)您已经安装了 64 位 javac.exe,或稍有不同的版本号 javac.exe,或在不同的驱动器等中,然后选择正确的进入你的道路将成为孩子的游戏。

只在PATH环境变量中使用分号between目录,记住在一些系统中,在新的环境变量之前需要先注销再登录所有环境都可以访问。

【讨论】:

【参考方案6】:

您的 PATH 中没有 jdk1.7.0_17 - 请再次检查。 只有 JRE 可能不包含 'javac' 编译器。

另外最好设置 JAVA_HOME 变量,然后将其包含在 PATH 中。

【讨论】:

【参考方案7】:

这样做: 1.运行CMD(WIN+R然后输入CMD) 2. 输入:

设置 PATH=%PATH%; java安装路径\bin

将“java安装路径”替换为安装JDK的目录,如C:\Program Files (x86)\Java。一定要在JDK目录后面加上\bin,因为这里指向“javac”和“java”(BIN代表“binaries”)

这样,您可以在任何地方运行 Java 编译器。无法 CD 到 JDK 目录,因为它在 Program Files 中有一个空间,并且 DOS 不会让你 CD 到这些目录。

【讨论】:

以上是关于找不到 Javac的主要内容,如果未能解决你的问题,请参考以下文章

找不到 Javac

javac编译不同目录的源码提示找不到符号

Alpine Linux - 找不到 javac

javac: 找不到文件: HelloWorld.java 用法: javac <options> <source files> -help 用于列出可能的选项

java编译 为啥显示找不到文件

javac -cp找不到类?