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-*-jre
,openjdk-*-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