如何更改Eclipse / ANT的JAVA_HOME

时间:2009-08-17 14:43:11

标签: java eclipse ant environment-variables java-home

我正在尝试使用ANT脚本签署一个jar文件。我知道必须指向运行jarsigner.exe的JDK目录,但是当我回显java.home时,它返回JRE目录。

这对javac来说不是问题,因为我可以设置可执行路径。但是,signjar并不存在。

如何更改java.home路径?当我右键单击MyComputer并转到:

  

属性>高级>环境变量

“PATH”变量正确指向JDK(C:\program files\java\jdk\bin)。

更新:更改下面建议的PATH变量后,文件现在正确签名。

10 个答案:

答案 0 :(得分:48)

在Eclipse中,Ant java.home 变量不基于Windows JAVA_HOME环境变量。相反,它被设置为项目的JRE的主目录。

要更改默认JRE(例如将其更改为JDK),您可以转到 Windows->偏好设置... 并选择 Java->已安装的JRE

要更改单个项目的JRE,您可以转到 Project-> Properties 并选择 Java Build Path 并选择 Libraries 选项卡。找到 JRE系统库并单击它,然后选择编辑并选择所需的JRE(或JDK)。

如果这不起作用,那么在运行构建文件时,您可以选择运行as-&gt; Ant Build ... 并单击 JRE 选项卡,选择< em>单独的JRE 并指定你想要的JRE。

答案 1 :(得分:14)

对我来说,蚂蚁显然拒绝听取eclipse默认的任何配置,项目JDK,并且“Ant Home Entries”的建议只是没有牵引力 - 那里没有任何关于JDK的内容。

然而,这有效:

Menu "Run" -> "External Tools" -> "External Tools Configuration".
  Goto the node "Ant build", choose the ant buildfile in question.
     Choose tab "JRE".
        Select e.g. "Run in same JRE as workspace", or whatever you want.

答案 2 :(得分:11)

在Windows下,您需要关注:

开始 - &gt;控制面板 - &gt;系统 - &gt;高级 - &gt;环境变量。

...你需要设置 JAVA_HOME (与你提到的PATH变量不同)来引用JDK主目录,而不是bin子目录;例如“C:\ program files \ java \ jdk”。

答案 3 :(得分:8)

简单地说,在Eclipse中将JAVA版本强制实施为Ant:

在Ant文件上使用RunAs选项,然后在 JRE 标签中选择外部工具配置,定义您要使用的JDK / JRE版本。

答案 4 :(得分:4)

还要确保设置JAVA_HOME环境变量。实际上,我通常设置JAVA_HOME,然后将字符串“%JAVA_HOME%\bin”添加到系统的PATH环境变量中,这样如果Java升级或更改,只有{{1}变量将需要更改。

确保关闭所有命令提示符窗口或打开可能读取环境变量的应用程序,因为在重新启动应用程序之前通常不会注意到对环境变量的更改。

答案 5 :(得分:2)

除了验证可执行文件在路径中之外,还应确保Ant可以在JDK中找到tools.jar。解决此问题的最简单方法是将tools.jar添加到Ant类路径:

Adding tools.jar to Ant classpath.

答案 6 :(得分:1)

今天上午花了几个小时面对这个问题。我可能是这些论坛上技术最差的人。就像请求者一样,我忍受了每次提醒设置%JAVA_HOME%,每次看到这个非杰出的建议时都咬着我的舌头。最后,我思考我的笔记本电脑的JRE是否是我的JDK之前的版本(因为JRE会定期自动更新)并且我安装了最新的JDK。差异很小,源于几个星期的不同版本。我开始在jdk v 1.0865上出现此错误。 JRE是1.0866。安装后,我有jdk v1.0874和等效的JRE。那时,我指示Eclipse JRE专注于我的JDK,一切都很顺利。我的java.home println甚至反映了正确的JRE。

如此多的反馈重复了错误的回答。我强烈要求人们阅读其他人的反馈,以避免无用的冗余。小心点,SG

答案 7 :(得分:0)

如果您使用的是Eclipse,请尝试以下操作:

  • 右键单击ant构建文件,然后选择“属性”。
  • 单击“运行/调试设置”,然后单击启动配置文件。你应该可以编辑它。
  • 单击“编辑”后,您将看到一个带有“属性”选项卡的新窗口,该选项卡将显示Ant构建属性的列表。列表中有一个“java.home”属性。确保它指的是正确的路径。

答案 8 :(得分:0)

转到Environment变量并添加

JAVA_HOME=C:\Program Files (x86)\Java\jdk1.6.0_37

直到jdk路径(不包括bin文件夹)
现在将JAVA_HOME设置为路径PATH=%JAVA_HOME%\bin;
这将设置所有使用java的应用程序的java路径。

对于ANT使用,

ANT_HOME=C:\Program Files (x86)\apache-ant-1.8.2\bin;

并将ANT_HOME包含在PATH中,因此路径将显示为PATH=%JAVA_HOME%\bin;%ANT_HOME%;

答案 9 :(得分:0)

设置环境变量

这是我一直忘记的部分。因为您手动安装Ant,所以还需要手动处理设置环境变量。

对于Windows XP :要在Windows XP上设置环境变量,请右键单击“我的电脑”,然后选择“属性”。然后转到“高级”选项卡,单击底部的“环境变量”按钮。

对于Windows 7 :要在Windows 7上设置环境变量,请右键单击“计算机”,然后选择“属性”。单击Advanced System Settings,然后单击底部的Environment Variables按钮。

Windows XP和Windows 7的对话框是相同的。确保您只处理系统变量而不是用户变量。

您绝对需要的唯一环境变量是 JAVA_HOME ,它告诉Ant您的JRE的位置。如果您已经安装了JDK,那么Windows XP上可能c:\Program Files\Java\jdk1.x.x\jre,Windows 7上可能c:\Program Files(x86)\Java\jdk1.x.x\jre。您会注意到它们的路径中都有空格,这会导致出现问题。您需要使用损坏的名称[3]而不是完整的名称。因此,对于Windows XP,使用C:\Progra~1\Java\jdk1.x.x\jre,对于Windows 7,如果它安装在Program Files(x86)文件夹中,则使用C:\Progra~2\Java\jdk1.6.0_26\jre(否则使用与Windows XP相同的版本)。

仅此一点就足以使Ant工作,但为方便起见,将Ant二进制路径添加到 PATH 变量是个好主意。此变量是以分号分隔的目录列表,用于搜索可执行文件。为了能够在任何目录中运行ant,Windows需要知道ant二进制文件和java二进制文件的位置。您需要将这两者添加到 PATH 变量的末尾。对于Windows XP,您可能会添加以下内容:

;c:\java\ant\bin;C:\Progra~1\Java\jdk1.x.x\jre\bin

对于Windows 7,它看起来像这样:

;c:\java\ant\bin;C:\Progra~2\Java\jdk1.x.x\jre\bin

完成

完成此操作并应用更改后,您需要打开一个新的命令提示符,以查看变量是否设置正确。你应该能够简单地运行ant并看到这样的东西:

Buildfile: build.xml does not exist!
Build failed