无需 java -version 检查 java 版本

无需 java -version 检查 java 版本

java在尝试编译或运行与或有关的所有内容时出现以下错误javac

Error occurred during initialization of VM
java/lang/ClassNotFoundException: error in opening JAR file <Zip file open error> /usr/lib/jvm/java-8-oracle/jre/lib/rt.jar

我读了这里我应该卸载并重新安装 JDK,这里上面写着我应该知道我的电脑上安装了哪个版本的 Java,以便卸载它。

为了检查已安装的版本,我运行了java -version但出现了上述错误,没有该命令我怎样才能检查我的 Java 版本?

我知道我已经安装了 java 8,但我不知道它具体是哪个版本。

答案1

要在不运行的情况下显示安装的 Java 版本java -version,请打开终端并输入:

apt policy openjdk-* oracle-java* 

一小部分结果apt policy openjdk-*如下:

openjdk-7-jre-lib:
  Installed: (none)
  Candidate: (none)
  Version table:
openjdk-8-jdk:
  Installed: 8u162-b12-0ubuntu0.16.04.2
  Candidate: 8u162-b12-0ubuntu0.16.04.2

搜索包含 或 的部分openjdk-*-jreopenjdk-*-jdk其中oracle-java*通配符*可以是 Java 版本号,如 6、7、8 或 9。

答案2

您可以使用以下命令发现默认可执行文件的完整路径java

readlink -f "$(which java)"

我知道所有(合理的)Java 包或软件包都使用包含供应商名称和主版本号的安装路径名,这可以回答您的问题。例如在我的系统上

$ readlink -f "$(which java)"
/usr/lib/jvm/java-9-openjdk-amd64/bin/java

告诉我默认的 Java 安装是 OpenJDK 9。

答案3

您还可以尝试:

dpkg -l | egrep -i 'jre|java|jdk'

答案4

您可以使用此命令检查您的 Java 版本:

update-alternatives --config java

相关内容