Answers:
如果在打开命令提示符时将其添加到控制面板中,则不会影响当前的命令提示符。您需要退出并重新打开,或者干脆做:
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操作系统在当前目录和PATH环境变量中列出的目录中搜索可执行程序。JDK的程序(例如Java编译器javac.exe和Java运行时java.exe)位于目录“ \ bin”(其中表示JDK的安装目录,例如C:\ Program Files \ Java \ jdk1.8.0_xx)。您需要在PATH中包括“ \ bin”目录。
要在Windows XP / Vista / 7/8中编辑PATH环境变量:
控制面板⇒系统⇒高级系统设置
切换到“高级”选项卡⇒环境变量
在“系统变量”中,向下滚动以选择“ PATH”⇒编辑
((现在请先阅读以下三遍,然后再进行还原)
在“变量值”字段中,在所有现有文件的前面插入“ c:\ Program Files \ Java \ jdk1.8.0_xx \ bin”(用升级号替换xx,并确认这是您JDK的二进制目录!!!)目录,后跟分号(;),将JDK的二进制目录与其余现有目录分开。请勿删除任何现有条目;否则,某些现有应用程序可能无法运行。
Variable name : PATH
Variable value : c:\Program Files\Java\jdk1.8.0_xx\bin;[existing entries...]
经过很长一段时间的Google,我才知道javac.exe将位于JDK(C:\ Program Files \ Java \ jdk(版本号)\ bin)中,而不位于JRE(C:\ Program Files(x86)\ Java \ jre7)中\ bin) “ JRE不带有编译器。它(JRE)只是一个Java运行时环境。您需要的是Java开发工具包。” 为了使用javac编译器
如果您在jre中指向bin,则javac将不起作用
为了在cmd中使用javac,必须在系统中安装JDK。
对于javac路径
路径= C:\ Program Files(x86)\ Java \ jre7 \ bin 这是错误的
路径= C:\ Program Files \ Java \ jdk(版本号)\ bin 这是正确的
确保“ javac.exe”位于“ C:\ Program Files \ Java \ jdk(版本号)\ bin”中
不要与JRE和JDK完全混淆
如果没有JDK请从此链接下载
要么
http://www.oracle.com/technetwork/java/javase/downloads/index.html
JDK VS JRE的参考线程 JDK和JRE有什么区别?
在此处尝试解决方案: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
确保重新打开所有正在运行的命令提示符Windows,以获取环境变量的更新。
有时,“; C:\ Program Files \ Java \ jdk1.6.0 \ bin”可能会忘记在最后一个现有路径上加上分号。
只会为管理员帐户设置路径。因此,如果您还没有以管理员身份启动命令提示符,则很重要。