我的Ubuntu上安装了 OpenJDK 和 Oracle Java 。 如果激活的java是OpenJDK,有没有办法在bash shell中检查Oracle java的版本?
答案 0 :(得分:18)
update-java-alternatives -l
将列出通过替代系统安装的所有Java版本。
例如,在我的一个系统上,它将显示版本和路径:
java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64
java-7-oracle 1069 /usr/lib/jvm/java-7-oracle
如果你想要oracle那么我想你可以做到:
update-java-alternatives -l | grep oracle | awk '{ print $1 }'
这也可以找到所有oracle版本,并针对列表中的每个版本发出-version
命令:
update-java-alternatives -l | grep oracle | awk '{system($3"/bin/java -version")}'
输出可能如下所示:
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
更进一步的是从-version
命令解析java版本并简单地显示它:
(update-java-alternatives -l | grep oracle | awk '{system(""$3"/bin/java -version 2>&1 | grep \"java version\"")}') | awk -F\" '{print $2}'
需要2>&1
因为Java会将版本显示为标准错误。输出看起来就像这样(如果你需要它,可以很容易地分配给一个bash变量):
1.7.0_67
如果您有多个oracle实例,则会显示每个实例的版本。如果您想查找每个Java的所有版本,只需删除| grep oracle
答案 1 :(得分:7)
如果您使用的是openjdk java,则PC中的oracle Java只是一个文件夹。如果您不使用它,则无法检查其版本。
如果您曾经使用过oracle java,那么它必须在您的java替代品中,您可以找到该文件夹(通常带有名称版本):
update-alternatives --config java
如果它说的是 /usr/lib/jvm/jdk1.8.0_05/bin/java ,那么你的电脑里就有1.8。
如果您没有随时使用oracle java,只需检查已下载的内容即可。
如果您只想查看正在使用的版本:
java -version
希望有所帮助
答案 2 :(得分:2)
是的,你需要知道oracle的安装路径。然后/path/to/there/bin/java -version
。假设openjdk
是你的默认java。
答案 3 :(得分:1)
转到oracle Java的安装文件夹,然后打开bin
文件夹。现在打开一个“here”终端并输入java -version
altlly,
在命令行中将整个路径粘贴到该bin文件夹,然后粘贴java -version
,即/path/to/bin/java -version
答案 4 :(得分:1)