0

这更像是一个关于 OpenJDK 和被删除的包的一般问题。

我正在删除libatk-wrapper-java. 但是,当我使用 apt-get 删除它时,它说openjdk-7-jre也将被删除。我的问题是,即使删除后我仍然能够成功使用 java 命令openjdk-7-jre,这怎么可能?

4

2 回答 2

2

您可以使用它来找出正在使用的 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。这只是告诉我哪一个是默认的。)

这可能不是回答您问题的最快方法,但它有望帮助您更好地了解您的系统设置。

于 2012-08-01T18:26:51.960 回答
0

你有没有安装任何其他的JDK?我也在使用LINUx,它带有openjdk-6。你是这样吗?签入 /usr/share/doc/openjdk-6-jre

于 2012-08-01T18:15:36.313 回答