这更像是一个关于 OpenJDK 和被删除的包的一般问题。
我正在删除libatk-wrapper-java
. 但是,当我使用 apt-get 删除它时,它说openjdk-7-jre
也将被删除。我的问题是,即使删除后我仍然能够成功使用 java 命令openjdk-7-jre
,这怎么可能?
您可以使用它来找出正在使用的 Java 命令的位置:
which java
然后,使用它ls -l
来找出这是否是一个符号链接,如果是,它指向的位置。(很有可能它会指向 中的某些/etc/alternatives
内容,至少它在我的系统上是这样。)
继续使用ls -l
链接,直到找到正在运行的真正二进制文件。
然后,使用它来找出哪个包拥有二进制文件:
dpkg -S $PATH_TO_JAVA_BINARY
在我的机器上,这个过程是这样的:
AWS:~$ which java
/usr/bin/java
AWS:~$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 Jul 30 22:47 /usr/bin/java -> /etc/alternatives/java*
AWS:~$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 45 Jul 30 22:47 /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java*
AWS:~$ dpkg -S /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java
openjdk-6-jre-headless: /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java
这告诉我该软件包openjdk-6-jre-headless
已安装,这就是我java
在命令提示符下键入时运行的 Java 二进制文件的所有权。(不过,您的系统上可能还有一个或多个其他 JVM。这只是告诉我哪一个是默认的。)
这可能不是回答您问题的最快方法,但它有望帮助您更好地了解您的系统设置。
你有没有安装任何其他的JDK?我也在使用LINUx,它带有openjdk-6。你是这样吗?签入 /usr/share/doc/openjdk-6-jre