如何更改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_HOME
variables。
并确保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中: