我试图使用 javac 与windows命令,但是它不工作。

后加入目录 "C:\Program Files\Java\jdk1.6.0_16\bin\" 到结束 PATH 环境变量, java 命令工作得很好,但是使用 javac 给我下错误:

'javac'是不被承认为一个内部或外部的命令,可操作的程序或批文件。

有帮助吗?

解决方案

如果您添加它在控制面板中,而你的命令提示符是开放的,不会影响当前命令提示符。你需要退出并重新打开或者干脆:

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

通过检查的方式,执行如下步骤:

echo %path%

从命令提示符,让我们知道它是什么。

否则,确保有的试图在该目录中的javac:

"c:\program files\java\jdk1.6.0_16\bin\javac.exe"

从命令提示。你也可以告诉其中可执行文件(如果有的话)与所述命令中使用:

for %i in (javac.exe) do @echo %~$PATH:i

这是类似于在某些UNIX型操作系统的which和/或whence命令的巧妙的方法。

其他提示

Windows操作系统搜索目录,该目录中列出的路径的环境中变量的可执行程序。JAVA的程序(例如Java编译器javac.exe 和Java运行java.exe)居住在目录"\bin"(其中表示JAVA安装目录,例如,C:\Program 文件\Java\jdk1.8.0_xx).你需要包括"\bin"directory在路径。

编辑的路径的环境变量,在Windows XP/Vista/7/8:

  1. 控制面板⇒系统⇒先进的系统设置的

  2. 关于"高级"的签⇒环境变量

  3. 在"系统变量",滚下来选择"道路"⇒编辑

((现在宣读下面3次,在继续之前, 没有撤消 ))

在"变量值"一栏,插入"c:\Program 文件\Java\jdk1.8.0_xx\bin"(代替第xx用升级的数量,并确认这是你的JAVA的二进制目录!!!) 在前面的所有现存目录,随后通过一半号(;)分JAVA的二进制目录从其余的现存目录。不要删除任何现有条目;否则,一些现有的应用程序可能无法运行。

Variable name  : PATH
Variable value : c:\Program Files\Java\jdk1.8.0_xx\bin;[existing entries...]

Screenshot

长谷歌之后,我才知道的javac.exe将里面的 JDK (C:\ Program Files文件\的Java \ JDK(版本号)\ BIN)未在 JRE (C:\ Program Files文件(x86)的\的Java \ jre7 \ BIN)的“JRE不来编译它(JRE)是一个简单的Java运行时环境,你需要什么是Java。开发工具包“。为了使用编译器的javac

如果您指向内部的JRE斌的javac将无法正常工作

为了在cmd中使用的javac,JDK必须安装在您的系统...

:用于javac的路径

<强>路径= C:\程序文件(x86)\爪哇\ jre7 \ BIN 这是错误的

<强>路径= C:\ Program Files文件\爪哇\ JDK(版本号)\ bin中这是正确的

确保 “的javac.exe” 是您的里面的 “C:\ Program Files文件\的Java \ JDK(版本号)\ BIN”

不要误会与JRE和JDK两者是完全不同的。

如果您还没有从这个链接 HTTP ://www.oracle.com/technetwork/java/javase/downloads/index.html

有关JDK VS JRE 是什么JDK和之间的差JRE?

我知道这可能不是你的特定错误,但我曾经在我的道路了领先的空间和Java的工作,但javac的不会。

有关它的价值,我提供明智的建议:“仔细检查你的路径”

尝试的解决方案在这里: http://techdem.centerkey.com /2009/05/javahome-command-script.html

这是更强大的改变 - 当您升级JDK或JRE喜欢,因为没有硬编码路径

在快速的解决方案(如果你不想阅读博客)是

C:\>for /d %i in ("\Program Files\Java\jdk*") do set JAVA_HOME=%i
C:\>set PATH=%PATH%;%JAVA_HOME%

然后可以将这些行添加到一个启动/登录脚本。

我不得不这样做是为了得到这个在Windows 7上工作64。

打开一个命令提示(cmd.exe的)和类型:

set CLASSPATH=C:\Program Files\Java\jdk1.7.0_01\bin

请确保您重新打开所有正在运行的命令提示窗口中得到更新,以及环境变量。

好吧,这可能并非如此总是,但我们许多人在过去所做的这个错误,并数出那些仍然没有意识到这一点,这就是,每次追加任何环境的路径(任何路径)变量,你很可能会在“分号”后立即按下空格键(因为你通常会中,“期”之后,而在编辑器中键入)。

这将创建路径中的前导空格e.g “C:\ Program Files文件\的Java \ jdk1.6.0 \ bin” 中。因此 “的javac.exe” 将不被系统发现

更改文件夹“jdk1.7.0_45”“jdk1_7_0_60”和更新Windows环境下的路径。否则,路径忽略在前面它代表隐藏文件等的文件夹中未PATH字符串显示的点。

“; C:\ Program Files文件\的Java \ jdk1.6.0 \ bin” 中。有时你可能会忘记把分号最后一个现有路径上

我面临完全相同的问题,即Java的将工作,但javac的不会对在Windows 8。CMD提示符

在问题发生,因为我忘记在路径名称的末尾去除'>',即,它是这样的:

C:\Program Files\Java\jdk*\bin>

它被假设是这样的:

C:\Program Files\Java\jdk*\bin

的路径将只为管理员帐户来设置。因此,启动命令提示符以管理员身份是很重要的,如果你没有的话。

确保您不允许在路径变量路径之间的空间(空白)。我的问题是我有空白,我相信视窗把它当作一个NULL并没有看我的路径为Java。

我在张贴在这个标题的相同的问题。爪哇将工作,但javac不会在Windows命令提示(cmd.exe)。

对于我来说,这是简单的,我已经放在一个空间添加C:\Program Files\Java\jdk1.8.0\bin%PATH%环境变量结束的时候。结果 卸下;和下一个文件路径之间的空间。

我现在明白这是一个老问题,但我的解决方案是不是如果任何人在这里如此张贴的答案会尝试所有的休息。

在我的情况下,先前安装Java JRE的(在ProgramData /甲骨文/爪哇)在我的路径变量的列表的顶部有一个路径变量。说:“甲骨文”路径的内容有一个java.exe的,但不是的javac.exe。 我将自己完整的JDK路径,路径变量列表的顶部,超前的“甲骨文”一个,然后把它拾起的javac.exe以及Java。

for /d %i in ("\Program Files\Java\jdk*") do set JAVA_HOME=%i
set JAVA_HOME

解决方案工作于我

当我试图使的.java到的.class命令的Javac没有工作。我把它转到C工作:\程序文件(x86)\的Java \ jdk1.7.0_04 \ bin并当我在该目录中我输入程序Javac.exeÇ\测试\ test.java,并将其与制造类战术。尝试了这一点。

给它为 “C:\ Program Files文件\的Java \ jdk1.6.0_16 \ bin” 中。除去反斜线它将工作

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top