2013-07-11 44 views
78

我指出JAVA_HOME to C:\Program Files (x86)\Java\jre7它工作正常。后来,我解压蚂蚁和设置与蚂蚁的环境变量,我打字"ant -version"哪一个应该JAVA_HOME指向,JDK或JRE

image

我搜索这个论坛后,得到了以下错误消息。看起来像一个解决方案,我把Java指向JDK而不是JRE。我不确定这是否应该是解决方案。换句话说,一般来说,哪一个应该将JAVA_HOME指向JDK或JRE?

回答

88

如果您正在进行任何类型的开发,或者使用Maven或Ant进行构建,则需要指向诸如javac(Java编译器)之类的实用程序驻留的JDK(Java开发工具包)。否则,您可以指向JRE(Java运行时环境)。

JDK包含JRE所具有的所有内容。如果您只是执行Java程序,则可以指向JRE或JDK。

+3

所以'JAVA_HOME'被用来做两件事:1:用于开发工具,找到'javac.exe'。 2:对于非开发工具,找到'java.exe'。这似乎违反了[“一件事的一个工具”](https://en.wikipedia.org/wiki/Unix_philosophy#Doug_McIlroy_on_Unix_programming)。是否不应该使用'JDK_HOME'? – Pacerier

+1

本网站上的图表显示了JDK和JRE之间的关系。 https://docs.oracle.com/javase/8/docs/ – andrybak

+0

是否可以通过编程方式验证Java路径是否设置为JRE或JDK? –

5

我的JAVA_HOME指向JDK。如果它仍然不起作用,请检查您是否下载了ant for Java 7而不是用于Java 6.

4

通常,将它指向JRE或JDK无关紧要。这取决于使用它的应用程序。 Ant文档说你应该指向JDK来获取所有Ant的功能。

1

作为开发人员,您应该将您的JAVA_HOME指向jdk以访问javac共享程序等。如果您可以测试程序以在JRE上运行,那很好。如果您使用的是应用程序服务器,则通常也需要JDK而不是JRE,但这取决于特定的服务器。

1

您可以使用JDK或JRE,但是:

JAVA_HOME被启动程序用于查找要使用的JDK/JRE。 (由于某些任务需要java工具,建议使用JDK。)
ANT_HOME setting

3

简单(改变你jdk1.x.x.x_xx)

JAVA_HOME = C:\ Program Files文件\的Java \ jdk1.8.0_05

-2

让我们保持它的简单。转到设置并搜索“环境变量”。一旦弹出环境变量窗口,只需点击NEW然后点击BROWSE DIRECTORY直到找到JDK的安装路径,创建一个新的SYSTEM变量。 JDK应该安装在程序文件中,您将看到一个JAVA文件夹,并且该文件夹内部是JDK和JRE ...如果您编写代码,则必须选择JDK!不要听任何人说JRE就足够了......不!它不会!正确的目录应该看起来像这样:C:\ Program Files \ Java \ jdk1.8.0_144就这么简单!

+0

现有的答案已经提供了该信息。 – Stephan