JAVA_HOME应该指向JDK还是JRE?

use*_*850 95 java ant java-home

我指出了JAVA_HOMEC:\Program Files (x86)\Java\jre7.它工作正常.之后,我解压缩了ant并设置了与Ant相关的环境变量,输入后我收到以下错误信息"ant -version"

图片

我搜索了这个论坛.看起来一个解决方案是将Java指向JDK而不是JRE.我不确定这是否应该是解决方案.换句话说,一般来说,哪一个应该JAVA_HOME指向?JDK还是JRE?

Dav*_* W. 110

如果您正在进行任何类型的开发,或使用Maven或Ant构建,您需要指向JDK(Java开发工具包),其中包含javac(Java Compiler)等实用程序.否则,您可以指向JRE(Java运行时环境).

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

  • 因此`JAVA_HOME`用于做两件事:1:用于开发工具,找到`javac.exe`.2:对于非开发工具,找到`java.exe`.这似乎违反了["一件事的一个工具"](https://en.wikipedia.org/wiki/Unix_philosophy#Doug_McIlroy_on_Unix_programming).不应该使用`JDK_HOME`代替? (6认同)
  • 该站点上的图表显示了JDK和JRE之间的关系.https://docs.oracle.com/javase/8/docs/ (3认同)

Amr*_*tfy 8

简单(改为你的jdk1.xxx_xx)

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

  • 该目录中没有“javac.exe”(位于“bin”下),那么这怎么可能是正确的呢? (3认同)

das*_*s_j 6

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


Jan*_*ška 5

一般来说,指向 JRE 还是 JDK 都没有关系。这取决于使用它的应用程序。Ant 文档说您应该将其指向 JDK 以获取所有 Ant 的功能。