Mr *_*are 7 linux version java
我的 Linux 机器上安装了一个 java 版本。当我尝试这个时:
root@test$: javac -version
它给出的结果为:
javac jdk1.7.0_80。
现在我的问题是我不知道那个(1.7.0_80)java 文件夹在哪里。我在 usr/lib/jvm 中有一个名为“ java-7-oracle ”的文件夹。我怀疑它是已安装的 java 版本的文件夹。
现在我有一个 java 文件夹,我想知道它是哪个版本的 java?
如何??
我认为您可以通过检查 Java 二进制文件链接到的位置来跟踪所有这些。
#which javac
/usr/bin/javac
#ls -ln /usr/bin/java
lrwxrwxrwx. 1 0 0 22 Nov 27 04:54 /usr/bin/java -> /etc/alternatives/java
#ls -ln /usr/bin/javac
lrwxrwxrwx. 1 0 0 23 Nov 27 04:54 /usr/bin/javac -> /etc/alternatives/javac
# ls -ln /usr/bin/javadoc
lrwxrwxrwx. 1 0 0 25 Nov 27 04:54 /usr/bin/javadoc -> /etc/alternatives/javadoc
Run Code Online (Sandbox Code Playgroud)
最后:
#ls -ld /etc/alternatives/java
lrwxrwxrwx. 1 root root 46 Nov 27 04:54 /etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
Run Code Online (Sandbox Code Playgroud)
因此,我的java安装是:
/usr/lib/jvm/jre-1.7.0-openjdk.x86_64
Run Code Online (Sandbox Code Playgroud)
我想你可以像这样跟踪任何二进制文件。
找出当您只键入名称时执行哪个二进制文件是使用 完成的which
,并且使用readlink
您可以将过程压缩为一行。
readlink -e $(which java)
readlink -e
打印符号链接或规范文件名的值,并且 -e 确保它递归地跟随每个组件。
tony@trinity:~$ readlink -e $(which java)
/usr/lib/jvm/java-6-openjdk-i386/jre/bin/java
Run Code Online (Sandbox Code Playgroud)
注意:我没有在我测试过的机器上安装 javac,所以只使用了 java,但上面的方法适用于任何二进制文件。
您似乎还要求找出特定文件夹中的 java 版本?为此,您只需这样做,
/full/path/java -version
Run Code Online (Sandbox Code Playgroud)
这可以防止 Linux 搜索路径并直接找到 java 二进制文件。在你的情况下,
/usr/lib/jvm/java-7-oracle/javac -version
Run Code Online (Sandbox Code Playgroud)