繁体   English   中英

即使指定了JAVA_HOME也无法识别javac

[英]javac not recognized even when JAVA_HOME specified

当我在cmd中键入javac ,无法识别它,尽管我确实安装了jdk 1.7并指定了JAVA_HOME,如下所示

c://Programfiles/Java/jdk-1.6/bin // with and without bin , with and without double slash

没有结果


我也试过

;c://Programfiles/Java/jdk-1.6/bin // with and without bin , with and without double slash

没有结果


还有其他可能的解决方案

PS System varialbes框已禁用。 所以我只能添加user variables

您的方法存在以下几个问题:

  1. 环境变量JAVA_HOME与操作系统用于查找可执行文件的机制无关。 为此,要考虑PATH变量。 JAVA_HOME变量有时由其他寻找Java的应用程序使用。

  2. 如果使用变量JAVA_HOME,则应将其设置为bin目录的父目录。

  3. Windows使用反斜杠分隔目录,而不使用正斜杠。 (编辑:至少,Windows 7允许使用正斜杠,但我建议仍使用反斜杠。)此外,“ C:”与根目录之间只有一个分隔符。

  4. 通常包含已安装程序的目录是“ Program Files”,而不是“ ProgramFiles”

放在一起,您应该执行以下操作:

  1. 使用Java安装目录作为值创建环境变量JAVA_HOME,例如“ C:\\ Program Files \\ Java \\ jdk-1.6”。 此目录必须包含bin目录,而bin目录又包含可执行文件(例如java.exe)。

  2. 通过在环境变量PATH的末尾添加“;%JAVA_HOME%\\ bin”来扩展环境变量。

两种编辑都应在系统变量中进行。 现在,您只需打开命令提示符,然后使用“ java -version”检查此设置。 这应该工作。


编辑

如果只能在环境设置中编辑用户变量,则将可以进行以下操作:

  1. 如上所述,将变量JAVA_HOME添加到用户变量。
  2. 将(新)变量PATH添加到用户变量,其内容为“%PATH%;%JAVA_HOME%\\ bin”。

如果现在打开命令提示符并通过简单键入“ path”来检查路径变量,您将看到路径中的变量已正确展开。 现在检查“ java -version”。

默认情况下,为了被外壳程序找到,所有程序都必须位于系统“路径”环境变量中,该环境变量与JAVA_HOME无关。

如果要同时配置它们,则可以使用以下命令:

set JAVA_HOME=jdk_path
set PATH=%JAVA_HOME%/bin;%PATH%

两步过程:

  1. 设置JAVA_HOME = jdk_path; jdk_path \\ bin和
  2. 设置PATH =%JAVA_HOME%

然后,要确认,请运行:

Java版本

在命令提示符下识别或不识别的命令与JAVA_HOME环境变量无关,而与PATH变量无关。

您可以使用以下命令在Windows命令行中检查路径

C:\>  path

除此之外,请确保指向正确的jdk1.7 bin目录。 将此称为...Java/jdk-1.6/bin是个坏主意

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM