![](/img/trans.png)
[英]NullPointerException with openjdk 6 on Ubuntu 12.04
[英]OpenJDK and Ubuntu Server
這是關於OpenJDK和刪除包的一般性問題。
我正在刪除libatk-wrapper-java
。 但是,當我使用apt-get刪除它時,它表示openjdk-7-jre
也將被刪除。 我的問題是,即使刪除了openjdk-7-jre
,我仍然可以成功使用java命令,這怎么可能?
您可以使用它來查找正在使用的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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.