我的 Linux 机器上安装了 java 版本。当我尝试这个时:
root@test$: javac -版本
它给出的结果为:
javac jdk1.7.0_80。
现在我的问题是我不知道(1.7.0_80)java文件夹在哪里。我有一个名为“java-7-oracle” 在 usr/lib/jvm 中。我怀疑它是已安装的 java 版本的文件夹。
现在我有一个java文件夹,我想知道它是哪个版本的java?
如何??
答案1
我认为你可以通过检查你的 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
最后:
#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
因此,我的java安装是:
/usr/lib/jvm/jre-1.7.0-openjdk.x86_64
我想你可以跟踪任何像这样的二进制文件。
答案2
当您仅键入名称时,可以使用 查找执行哪个二进制文件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
注意:我测试的机器上没有安装 javac,所以只使用了 java,但上面的代码适用于任何二进制文件。
您似乎还要求找出特定文件夹中的 java 版本?为此,你只需这样做,
/full/path/java -version
这会阻止 Linux 直接搜索路径并找到 java 二进制文件。就你而言,
/usr/lib/jvm/java-7-oracle/javac -version
答案3
在 Debian 及其衍生版本上您可以使用:
update-alternatives --config java
或者
update-alternatives --list java
使用 --config 选项,您可以从替代列表中设置所需的 java。