如何找到jdk安装的路径?

Moh*_*sal 52 rhel java

我已经jdk1.7.0.rpm在 RHEL6 中安装了软件包。
我在哪里可以找到执行我的第一个 java 程序的路径?

小智 77

尝试以下两者之一:

$哪个java

$ whereis java

对于您的第一个 Java 程序,请阅读本教程:

“你好,世界!” 适用于 Solaris 操作系统和 Linux

  • 我真的不认为这回答了这个问题。`java` 二进制文件随 JRE 一起安装,但如果您正在进行开发,则需要 JDK,它不一定安装在 `which java`(在我的情况下是 /usr/bin)中。 (2认同)

小智 21

在 RHEL7 上,我使用了

locate openjdk
Run Code Online (Sandbox Code Playgroud)

它使我进入/usr/lib/jvm/包含目录的目录:

java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/
jre/
jre-1.8.0/
jre-1.8.0-openjdk/
jre-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/
jre-openjdk/
Run Code Online (Sandbox Code Playgroud)

每一个都包含一个 bin/java

要查找符号链接的完整路径,请使用:

readlink -f $(which java)
Run Code Online (Sandbox Code Playgroud)

*信用:堆栈溢出的答案

**注意:我在这里回答,因为它是谷歌的第一个结果


Mat*_*teo 16

您可以列出已安装的文件

rpm -ql packagename
Run Code Online (Sandbox Code Playgroud)

你会在某处看到一个bin目录java executable

但是如果 JDK RPM 安装正确,你应该已经java在你的路径中找到了。

尝试

javac MyFirstJavaClass.java
Run Code Online (Sandbox Code Playgroud)

如果一切都编译

java MyFirstClass
Run Code Online (Sandbox Code Playgroud)

(如果您没有更改任何内容,当前目录.应该已经在您的类路径中)


Kev*_*vin 11

由于这个问题是RPM具体的,rpm是开始(结合的方式,回答@Matteo)。

转速标志

-q is short for --query
-l is short for --list
Run Code Online (Sandbox Code Playgroud)

例子

rpm -ql jdk1.8.0_20 | grep "jdk1.8.0_20/bin$"
Run Code Online (Sandbox Code Playgroud)
/usr/java/jdk1.8.0_20/bin
Run Code Online (Sandbox Code Playgroud)

了解这一点对于设置用户或应用程序的$JAVA_HOME变量可能是可取的。当系统安装了多个版本的 java 或安装了多个 java 发行版(例如OpenJDKOracle/Sun )时,通常需要这样做

$JAVA_HOME 例子

~/.bash_profile, 或相关文件 ( .bashrc, .zshrc, .cshrc, setenv.sh) 中,可能会使用类似于以下内容的内容。

JAVA_HOME='/usr/java/jdk1.8.0_20'
export JAVA_HOME
PATH="$JAVA_HOME/bin:$PATH"
export PATH
Run Code Online (Sandbox Code Playgroud)

如果您想更多地控制 Java 的安装位置,例如在 中/opt,则可以使用 tarball 代替 RPM 文件。


其他类似的问题是询问在一般情况下如何查找任何二进制文件或文件。