%JAVA_HOME%\ bin无法在Windows 8.1 for javac上运行

时间:2015-02-01 04:49:27

标签: java java-home

有很多关于JAVA_HOME的帖子,但我找不到答案:

  • 在Windows 8.1命令提示符下,我无法运行javac,获取 错误:'javac' is not recognized as an internal or external command, operable program or batch file.
  • javac is located at: C:\Program Files\Java\jdk1.8.0_11\bin。和,
  • JAVA_HOME=C:\Program Files\Java\jdk1.8.0_11。 基于这里的许多建议,我添加到
  • PATH=....;%JAVA_HOME%\bin;不幸的是,系统使用javac给出了相同的错误消息。
  • 因此,我从JAVA_HOME中删除了PATH,并将其替换为完全限定的路径。问题解决了!
  • 我的问题:有谁知道为什么更优雅的解决方案不起作用?

提前致谢。

3 个答案:

答案 0 :(得分:2)

我还不能评论,所以我会给出答案。

我曾经在Windows 7系统上遇到过类似的问题:我的PATH中的环境变量(它本身就是一个环境变量)不再是扩展。 我发现表示PATH的注册表项的类型已经从REG_ EXPAND _SZ更改为REG_SZ。

注册表项是

HKEY_LM\SYSTEM\CurrentControlSet\Control\SessionManager\Environment\Path

实际上您无法更改类型,而是重命名原始PATH条目,创建一个具有正确类型的新条目,即REG_EXPAND_SZ并复制该值。

我无法记住当时帮助过我的网站,但Serverfault Environment variable...描述了这种情况。

答案 1 :(得分:0)

我的问题是我将JAVA_HOME作为req添加到了用户变量而非SYSTEM变量中

答案 2 :(得分:0)

它不起作用,因为您可能已将JAVA_HOME添加到用户变量中。

将JAVA_HOME添加到系统变量,它将正常工作。