如何在Windows 7上设置java_home?

Der*_*rek 415 java java-home system-variable windows-7

我在控制面板的"系统"中找到了环境变量,并创建了两个新变量,一个用于用户变量,另一个用于系统变量.两者都被命名为JAVA_HOME,两者都指向

C:\太阳\ SDK\JDK\BIN

但由于某种原因,我在运行Java命令时仍会遇到以下错误...

BUILD FAILED
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:161: The following error  occurred while executing this line:
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:141: The following error occurred while executing this line:
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:137: Please set java.home to a JDK installation

Total time: 1 second
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish>lib\ant\bin\ant -f setup.xml
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Buildfile: setup.xml
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Rob*_*obs 666

查找JDK安装目录

首先,您需要了解Java Development Kit的安装路径.

打开JDK的默认安装路径:

C:\Program Files\Java
Run Code Online (Sandbox Code Playgroud)

应该有一个子目录,如:

C:\Program Files\Java\jdk1.8.0_172
Run Code Online (Sandbox Code Playgroud)

注意:一个人只需将路径放到没有/ bin的jdk中(正如很多地方所建议的那样).例如C:\ Java\jdk1.8.0_172而不是C:\ Java\jdk1.8.0_172\bin!


设置JAVA_HOME变量

获得JDK安装路径后:

  1. 右键单击桌面上的" 我的电脑"图标,然后选择" 属性".
  2. 单击" 高级"选项卡,然后单击" 环境变量"按钮.
  3. 在" 系统变量"下,单击"新建".
  4. 输入变量名称JAVA_HOME.
  5. 输入变量值作为Java Development Kit的安装路径.
  6. 单击确定.
  7. 单击应用更改.

注意:您可能需要重新启动Windows

完整的文章在我的博客上:在Windows中设置JAVA_HOME变量.

  • 谢谢.最后我意识到一个人只需要将路径放到没有/ bin的jdk中(正如很多地方所建议的那样).例如C:\ Java\jdk1.6.0_31而不是C:\ Java\jdk1.6.0_31\bin! (119认同)
  • 上帝禁止有一个安装程序为你做了这一步:)我刚刚从企业版转为社区版,我确信我下载了错误的东西,因为它只是一键点击企业版:p (24认同)
  • 更快的方法是点击Start,然后开始键入环境变量 (9认同)
  • 有时,在重新启动窗口之前,系统可变更改不会生效. (5认同)
  • `/ Java/jre*`不是JDK目录,这是Java Runtime Enviroment diretory.JDK位于一个单独的目录中,除非你想做一些疯狂的黑客攻击 (4认同)

fog*_*edi 154

对我有用的%JAVA_HOME%\bin是将Path环境变量添加到JAVA_HOME指向该jdk文件夹的环境变量.


Ank*_*ain 122

您必须先在系统中安装JDK.

设置Java Home

JAVA_HOME = C:\ Program Files\Java\jdk1.7.0 [JDK安装目录的位置]

获得JDK安装路径后:

  • 右键单击"我的电脑"图标
  • 选择属性.
  • 单击屏幕左侧的"高级系统设置"选项卡
  • Aadvance Popup是开放的.
  • 单击Environment Variables按钮.

在此输入图像描述

  • 在"系统变量"下,单击"新建".
  • 输入变量名称JAVA_HOME.
  • 输入变量值作为Java Development Kit的安装路径.
  • 单击确定.
  • 单击应用更改.

在系统变量下设置JAVA Path

PATH = C:\ Program Files\Java\jdk1.7.0; [用分号附加值]

检查一下

  • JAVA_HOME不应包含\ bin. (72认同)
  • JAVA_HOME应该包含"\ bin"吗?这里的其他答案似乎表明应该为PATH包含"bin",但不包括JAVA_HOME. (14认同)
  • [PLUS ONE]漂亮的花朵! (5认同)

sgr*_*lon 31

在cmd中(暂时用于该cmd窗口):

set JAVA_HOME="C:\\....\java\jdk1.x.y_zz"

echo %JAVA_HOME%

set PATH=%PATH%;%JAVA_HOME%\bin

echo %PATH%
Run Code Online (Sandbox Code Playgroud)

  • 真正.如果使用`setx`,那么在关闭计算机后仍然会设置`JAVA_HOME`.然后你不必再设置它.也不需要`bin`. (2认同)

Ric*_*ket 17

http://javahowto.blogspot.com/2006/05/javahome-vs-javahome.html

控制面板> Java,Java选项卡,单击"查看"按钮.在运行时参数中,放入:

-Djava.home=YOUR_PATH_HERE
Run Code Online (Sandbox Code Playgroud)

或者,当您执行Java时,可以将该命令行开关添加到命令:

java -Djava.home=PATH SomeJavaApp
Run Code Online (Sandbox Code Playgroud)


Rom*_*eau 16

您需要将其设置为C:\Sun\SDK\jdk(假设这是JDK的安装位置 - 它不是默认值) - 不要将\ bin放入C:\Sun\SDK\jdk\bin.

如果您的应用程序仅在您以当前用户身份登录时运行,则将其放入用户变量中 - 如果需要为系统上的所有用户运行,则将其放入系统变量中.

您可能还需要添加%JAVA_HOME%\bin到路径中(此外,它还取决于您是仅从用户还是从所有用户(包括System)运行它)


Kar*_*Sho 11

One Image可以解决这个问题. 在此输入图像描述

更多


HAT*_*CHA 7

这是从www.java.com设置Java环境的官方解决方案 - 这里.

有适用于Windows 7,Windows Vista,Windows XP,Linux/Solaris和其他shell的解决方案.


Windows 7的

  1. 从开始菜单中选择计算机
  2. 从上下文菜单中选择"系统属性"
  3. 单击高级系统设置 - >高级选项卡
  4. 单击Environment Variables,在System Variables下,找到PATH,然后单击它.
  5. 在"编辑"窗口中,通过将类的位置添加到PATH的值来修改PATH.如果您没有PATH项,则可以选择添加新变量并将PATH作为名称和类的位置添加为值.
  6. 重新打开命令提示符窗口,然后运行Java代码.


Col*_*ice 7

对于那些仍然难以解决这个问题的人(我尝试了以上所有建议) -

如果您使用的是64位版本的Windows并且已经安装了32位JDK,那么除了调整PATH变量之外,您可能还需要调整注册表变量.

我正在把我的头发拉出来,正确地设置我的PATH变量 - 仍然无济于事 - 然后只在我的注册表中找到"空出来的"Java条目,似乎是修复"失火的"Java运行时环境的后果.

通过使用Process Monitor来观看我试图开始的程序,为了嗅出它在Java(运行时环境)的注册表中查找的位置,我成功地发现它正在查找32位版本的注册表项,在HKEY_LOCAL_MACHINE\SOFTWARE\**Wow6432Node**\JavaSoft\Java Runtime Environment.

在该密钥中,您应该找到安装了不同Java版本的子密钥(过去和/或现在).单击最新版本的子项(例如,我的子项目为1.7.0_25).单击该子项后,您将看到右侧列出的注册表字符串值,特别是JavaHomeRuntimeLib.您需要修改这两个值的值以分别反映当前文件夹和jvm.dll文件.

例如,在我的情况下,该值分别为(预先)分别设定为C:\Program Files (x86)\Java\jre7C:\Program Files (x86)\Java\jre7\bin\client\jvm.dll其是我的机器上不存在的.我不得不这些更新到当前文件夹和文件C:\Program Files (x86)\Java\jdk1.7.0_25\jreC:\Program Files (x86)\Java\jdk1.7.0_25\jre\bin\client\jvm.dll.

同样,这完全取决于您安装的Java(JDK和/或JRE)版本(32位或64位)以及您使用的操作系统类型--32位或64位.只要知道它们会反映在注册表中的不同位置(例如Wow6432Node32位应用程序,在我的情况下,安装在64位计算机上的32位JDK).

现在我已经更新了这两个注册表值,我的程序运行完美,不再有关于缺少Java运行时环境(源于注册表)的打嗝或抱怨.


ROM*_*eer 6

Windows 7的

  1. 使用资源管理器(不是Internet Explorer!)转到控制面板\所有控制面板项目\用户帐户

    要么

    • 单击"开始"按钮

      开始

    • 点击你的图片

      clickOnPhoto

  2. 更改我的环境变量

    更改我的环境变量

  3. 新...

    新

    (如果您没有足够的权限将其添加到"系统变量"部分,请将其添加到"用户变量"部分)

  4. JAVA_HOME添加为变量名称,将JDK位置添加为变量值>确定

    编辑系统变量确定

测试:

  • 打开一个新的控制台(cmd)
  • 类型 set JAVA_HOME
    • 预期产量: JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60


Sam*_*mir 6

我们需要区分这两个环境变量,这两个环境变量在这里可以互换.一个是JAVA_HOME变量.另一个是Path变量.引用JAVA_HOME变量的任何进程都在查找JDK的搜索路径,而不是JRE.使用JAVA_HOME变量不适用于Java编译器本身.编译器知道自己的位置.该变量用于其他软件,以便更容易地找到编译器.此变量通常由IDE软件使用,以便从Java源代码编译和构建应用程序.相比之下,Windows CMD解释器以及许多其他第一方和第三方软件引用Path变量,而不是JAVA_HOME变量.

用例1:从CMD编译

因此,例如,如果您没有使用任何IDE软件,并且您只希望能够从CMD编译,而不依赖于您当前的工作目录,那么您想要的是正确设置Path变量.在您的情况下,您甚至不需要JAVA_HOME变量.因为CMD使用Path而不是JAVA_HOME来定位Java编译器.

用例2:从IDE编译

不过,如果你正在使用一些IDE软件,那么你必须看看文档首先的.它可能需要设置JAVA_HOME,但它也可能使用另一个变量名来实现相同的目的.多年来事实上的标准是JAVA_HOME,但情况可能并非总是如此.

用例3:从IDE和CMD编译

如果除了IDE软件之外,您还希望能够独立于当前工作目录从CMD进行编译,那么除了 JAVA_HOME变量之外,您还可能需要将JDK搜索路径附加到Path变量.

JAVA_HOME与路径

如果您的问题与编译Java有关,那么您需要检查JAVA_HOME变量和Path(如果适用).如果您的问题与运行Java应用程序有关,那么您需要检查Path变量.

路径变量通用于所有操作系统.因为它是由系统定义的,并且因为它是用于定位JRE的默认变量,所以运行Java应用程序几乎没有任何问题.特别是在Windows上,软件安装人员通常会为您设置所有内容.但是如果你手动安装,最安全的做法可能是完全跳过JAVA_HOME变量,只使用Path变量来处理JDK和JRE的所有内容.任何最新版本的IDE软件都应该能够选择并使用它.

符号链接

符号链接可以通过搭载一个现有环境变量提供另一种引用JDK搜索路径的方法.

我不确定以前版本的Oracle/Sun JDK/JRE版本,但至少jdk1.8.0_74的安装程序会将搜索路径附加C:\ProgramData\Oracle\Java\javapath到Path变量,并将其置于字符串值的开头.此目录包含指向JRE目录中的java.exe,javaw.exe和javaws.exe的符号链接.

至少对于Java 8 JDK,可能是Java 8 JRE独立,不需要为JRE进行环境变量配置.只要您使用安装程序包进行设置即可.但是,您的Windows安装可能存在差异.请注意,Oracle JRE与JDK捆绑在一起.

如果您发现您的Java JDK配置使用了错误版本的编译器,或者它看起来像魔术一样工作,而没有明确定义(没有强制转换法术),那么您可能在环境变量的某处有一个符号链接.所以你可能想检查符号链接.


Shr*_*rma 5

goto Mycomputer(This PC) -> rightclick ->select properties -> Advanced system settings -> environment variables-> in system variables click "New" button and write JAVA_HOME in variable name and path C:\Program Files\Java\jdk1.8.0_131 were jdk is present in variable value-> click ok.

close and reopen the command prompt after setting JAVA_HOME. Sometimes changes does not reflect in the cmd opened before setting the JAVA_HOME.

您还可以通过终端本身设置JAVA_HOMESET JAVA_HOME =“ C:\ Program Files(x86)\ Java \ jdk1.8.0_131”