我将Oracle JDK安装到/usr/jdk/jdk1.8.0_25并将该目录设置为JAVA_HOME。 JAVA_HOME / bin包含java可执行文件,JAVA_HOME / jre / bin包含另一个java可执行文件。 我所遵循的指南说是将JAVA_HOME / bin和JAVA_HOME / jre / bin添加到PATH,但这是正确的可执行文件,如果我从命令行调用java,它将被使用?
答案 0 :(得分:3)
以下是JDK和JRE
之间差异的简要概述JRE表示 J ava R untime E 环境:它只包含运行java程序的二进制文件
JDK意味着 J ava D 开发 K 它:它包含用于运行java程序+二进制文件的二进制文件来编译java源代码(并生成一个java程序)。
JDK内部总是包含一个JRE(在目录<JDK_HOME>/jre
下)
JRE和JDK之间的主要区别是 javac 程序。 ( javac 表示 java c ompiler )
(你还会在<JDK_HOME>/bin
下找到<JDK_HOME>/jre/bin
下不存在的其他一些程序:所有这些程序对于java开发都很有用 - 但在大多数情况下 - 运行java程序是没用的。
两个位置(即<JDK_HOME>/bin
和<JDK_HOME>/jre/bin
)的所有程序都是相同的,因此区分并不是很重要。
准确回答您的问题:当您执行以 java 开头的命令行时将运行的 java 实例是 java的第一个实例在您的PATH系统变量中找到...就像任何其他程序一样。
答案 1 :(得分:0)
java的路径中更早的内容 - JAVA_HOME / bin或JAVA_HOME / jre / bin。
如果你看看安装了jdk / jre的文件夹结构,你会发现在jdk / bin文件夹中有很多二进制文件集合,比如java,javac,javap等.JRE会包含java但是不是javac,javap等我假设这是linux,你下载了压缩存档并提取了它。
答案 2 :(得分:0)
如果您真的很好奇,可以将其写入命令行:
where java
这将给出可执行文件的确切位置。在我的电脑上,这给了我
C:\ProgramData\Oracle\Java\javapath\java.exe
这是系统默认运行时java.exe
的软链接(在我的情况下是C:\Program files\Java\jre 1.8.0_25\bin\java.exe
)