如何更改Eclipse / ANT的JAVA.HOME

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

这对于javac来说不是问题,因为我可以设置可执行文件的path。 但是,signjar不存在。

我如何改变java.homepath? 当我右键点击MyComputer并去,

属性“>”高级“>”环境variables“

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

更新 :在更改下面build议的PATHvariables后,文件现在正确地签名。

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

要更改默认的JRE(例如,将其更改为JDK),可以转到Windows-> Preferences …并selectJava-> Installed JRE

要只更改一个项目的JRE,可以转到Project-> Properties并selectJava Build Path,然后selectLibraries选项卡。 findJRE系统库并单击它,然后select编辑并select所需的JRE(或JDK)。

如果这不起作用,那么在运行构build文件时,可以selectRun as-> Ant Build … ,然后单击JRE选项卡,select单独的JRE并在其中指定所需的JRE。

对我来说,ant显然拒绝听任何默认的项目JDK的configuration,并且“Ant Home Entries”的build议没有牵引力 – 没有提到JDK的东西。

但是,这工作:

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

在Windows下,你需要遵循:

开始 – >控制面板 – >系统 – >高级 – >环境variables。

…并且需要将JAVA_HOME (与您提到的PATHvariables不同)设置为引用JDK主目录,而不是bin子目录; 例如“C:\ program files \ java \ jdk”。

简单地说,要在Eclipse中强制执行JAVA版本Ant:

在Ant文件上使用RunAs选项,然后在JRE选项卡中select外部工具configuration ,定义您要使用的JDK / JRE版本。

另外一定要设置你的JAVA_HOME环境variables。 实际上,我通常设置JAVA_HOME ,然后将string“ %JAVA_HOME%\bin ”添加到系统的PATH环境variables中,以便在Java升级或更改时,只需要更改JAVA_HOMEvariables。

并确保closures任何命令提示符窗口或打开可能读取您的环境variables的应用程序,因为对应用程序重新启动之前,环境variables的更改通常不会被察觉。

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

如此多的反馈重复了错误的回应。 我强烈要求人们阅读别人的反馈意见,以避免无用的冗余。 小心所有,SG

如果您正在使用Eclipse,请尝试以下操作:

  • 右键单击ant构build文件,然后select“属性”。
  • 点击“运行/debugging设置”,然后点击启动configuration文件。 那么你应该可以编辑它。
  • 当你点击“编辑”后,你应该看到一个新的窗口“属性”选项卡,这将显示你的Ant构build属性的列表。 列表中有一个“java.home”属性。 确保它指的是正确的path。

转到环境variables并添加

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

直到jdkpath(排除bin文件夹)
现在将JAVA_HOME设置为pathPATH=%JAVA_HOME%\bin;
这将设置javapath到所有使用java的应用程序。

对于ANT的使用,

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

并将ANT_HOME包含到PATH中,因此path将显示为PATH=%JAVA_HOME%\bin;%ANT_HOME%;

设置环境variables

这是我总是忘记的部分。 由于您是手动安装Ant,所以您还需要手动设置环境variables。

对于Windows XP :要在Windows XP上设置环境variables,请右键单击我的电脑,然后select属性。 然后转到高级选项卡,然后单击底部的环境variablesbutton。

对于Windows 7 :要在Windows 7上设置环境variables,请右键单击“计算机”,然后select“属性”。 单击高级系统设置,然后单击底部的环境variablesbutton。

Windows XP和Windows 7的对话框都是一样的。 确保你只处理系统variables而不是用户variables。

您唯一需要的环境variables是JAVA_HOME ,它告诉Ant您的JRE的位置。 如果您已经安装了JDK,则可能是Windows XP上的c:\Program Files(x86)\Java\jdk1.xx\jre ,Windows 7上的c:\Program Files(x86)\Java\jdk1.xx\jre 。请注意,它们的path中都有空格,这会导致问题。 你需要使用mangled名字[3]而不是完整的名字。 所以对于Windows XP,使用C:\Progra~1\Java\jdk1.xx\jre ,对于Windows 7,如果它安装在Program Files(x86)中,请使用C:\Progra~2\Java\jdk1.6.0_26\jre )文件夹(否则使用相同的Windows XP)。

这足以让Ant工作,但为了方便起见,将Ant二进制path添加到PATHvariables是个好主意。 这个variables是以分号分隔的目录列表来search可执行文件。 为了能够在任何目录下运行ant,Windows需要知道ant二进制文件和java二进制文件的位置。 您需要将这两个都添加到PATHvariables的末尾。 对于Windows XP,您可能会添加如下内容:

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

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

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

完成

一旦你做了这些,并应用所做的更改,你需要打开一个新的命令提示符,看看是否正确设置variables。 你应该可以简单地运行ant并看到如下所示:

 Buildfile: build.xml does not exist! Build failed 

除了validation可执行文件在你的path中之外,你还应该确保Ant可以在你的JDK中findtools.jar 。 解决这个问题的最简单方法是将tools.jar添加到Ant类path中:

将tools.jar添加到Ant类路径。