如何找到jdk安装的路径?


34

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


2
可能重复的18472
sakisk 2011年

2
嗨,穆罕默德 这不是一个愚蠢的问题,而是已经在多个地方回答过的问题 -像这个这个问题
rozcietrzewiacz 2011年

只是一个PS:在MacOS上,Java通常安装在“ /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home”中,其中版本号可以不同。
Daniel Wang

Answers:


48

尝试以下两种方法之一:

$哪个java

$ whereis java

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

“你好,世界!” 适用于Solaris OS和Linux


注意这些命令给出不同的结果。如果您对非符号链接路径感兴趣,请使用whereis java。
P.Brian.Mackey's

我真的不认为这可以回答问题。该java二进制被安装与JRE,但如果你做开发,你需要JDK,这不一定是安装在which java(这在我的情况是/ usr / bin中)。
Tim S.

12

您可以使用列出安装文件

rpm -ql packagename

您会在某处看到bin目录java executable

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

尝试

javac MyFirstJavaClass.java

如果一切都能编译

java MyFirstClass

(如果您未进行任何更改,则当前目录.应该已经在您的类路径中)


这应该是IMO接受的答案。
Tim S.

8

由于此问题是RPM特定的,因此rpm是入门的方法(由@Matteo 回答)。

rpm标志

-q is short for --query
-l is short for --list

rpm -ql jdk1.8.0_20 | grep "jdk1.8.0_20/bin$"
/usr/java/jdk1.8.0_20/bin

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

$JAVA_HOME

~/.bash_profile或相关文件(.bashrc.zshrc.cshrcsetenv.sh),可以使用类似于下面的东西。

JAVA_HOME='/usr/java/jdk1.8.0_20'
export JAVA_HOME
PATH="$JAVA_HOME/bin:$PATH"
export PATH

如果您想更好地控制Java的安装位置(例如in中)/opt,则可以使用tarball而不是RPM文件。


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


通常,我强烈建议使用mlocate软件包在基于Red Hat的Linux文件系统上查找内容。
凯文

7

在RHEL7上,我使用了

locate openjdk

它导致我进入/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/

每个都包含一个 bin/java

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

readlink -f $(which java)

*信用:堆栈溢出的答案

**注意:我在这里回答是因为这是Google的第一个结果


即使java -version给了我1.8,这也给了我大部分的JDK6 。顶部附近有一个指向JDK8文件夹的链接。
Noumenon
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.