OpenJDK和Ubuntu Server

时间:2012-08-01 18:10:47

标签: java linux openjdk

这是关于OpenJDK和删除包的一般性问题。

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

2 个答案:

答案 0 :(得分: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。这只是告诉我哪一个是默认的。)

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

答案 1 :(得分:0)

你有没有安装任何其他JDK? 我正在使用LINUx,它带有openjdk-6。那是你的情况吗? 登记/ usr / share / doc / openjdk-6-jre