Linux
安裝 OpenJDK 7 (JRE) 但僅在 ./jre/bin 中找到策略工具
我正在嘗試通過 apt-get 將 Java 7 安裝到我的 Ubuntu 機器上。我正在使用 apt-get 發出要安裝的命令:
sudo apt-get openjdk-7-jre
apt-get 聲稱安裝成功,但我似乎無法使用 OpenJDK 7。注意:我也嘗試過無頭版本並獲得了類似的結果。
我是 Linux 的新手,但與我安裝的 OpenJDK 6 JRE 相比,./jre/bin 目錄下應該有一個 java 文件。即:我的 OpenJDK 6 和 7 目錄的比較。
開放JDK 6:
root/bin/$ pwd /usr/lib/jvm/java-6-openjdk-amd64/jre/bin root/bin/$ ll total 464 drwxr-xr-x 2 root root 4096 Dec 25 17:28 ./ drwxr-xr-x 5 root root 4096 Dec 19 22:01 ../ -rwxr-xr-x 1 root root 757 Jul 2 01:38 itweb-settings* -rwxr-xr-x 1 root root 39480 Nov 16 17:28 java* -rwxr-xr-x 1 root root 1260 Jul 2 01:38 javaws* -rwxr-xr-x 1 root root 39472 Nov 16 17:28 keytool* -rwxr-xr-x 1 root root 39552 Nov 16 17:28 orbd* -rwxr-xr-x 1 root root 39552 Nov 16 17:28 pack200* -rwxr-xr-x 1 root root 39480 Nov 16 17:28 policytool* -rwxr-xr-x 1 root root 39472 Nov 16 17:28 rmid* -rwxr-xr-x 1 root root 39480 Nov 16 17:28 rmiregistry* -rwxr-xr-x 1 root root 39480 Nov 16 17:28 servertool* -rwxr-xr-x 1 root root 39560 Nov 16 17:28 tnameserv* -rwxr-xr-x 1 root root 87280 Nov 16 17:28 unpack200*
開放JDK 7:
root/bin/$ pwd /usr/lib/jvm/java-7-openjdk-amd64/jre/bin root/bin/$ ll total 16 drwxr-xr-x 2 root root 4096 Dec 25 17:33 ./ drwxr-xr-x 5 root root 4096 Dec 25 17:33 ../ -rwxr-xr-x 1 root root 6360 Jul 16 03:46 policytool*
如果這是正確的,我不確定如何繼續將 Java 7 設置為我的預設 Java。如果這是不正確的,我不確定如何更正。我嘗試解除安裝並重新安裝,結果相似。
編輯:以下命令的輸出。
java -version 安裝後的輸出:
root/~/$ java -version java version "1.6.0_27" OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.4) OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
dpkg -S $(type java | awk ‘{print $3}’) 安裝後的輸出:
root/bin/$ hash -r; dpkg -S $(type java | awk '{print $3}') dpkg-query: no path found matching pattern /usr/bin/java. root/bin/$ ll /usr/bin/java lrwxrwxrwx 1 root root 22 Nov 19 13:40 /usr/bin/java -> /etc/alternatives/java*
update-alternatives 的輸出:
root/bin/$ update-alternatives --display java java - auto mode link currently points to /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java - priority 1061 slave java.1.gz: /usr/lib/jvm/java-6-openjdk-amd64/jre/man/man1/java.1.gz Current 'best' version is '/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java'.
解除安裝 openjdk-6-jre 後
root/~/$ java -version The program 'java' can be found in the following packages: * default-jre * gcj-4.6-jre-headless * openjdk-6-jre-headless * gcj-4.5-jre-headless * openjdk-7-jre-headless Try: apt-get install <selected package> root/~/$
然後我嘗試使用安裝 Java 7,
apt-get install openjdk-7-jre
但現在又回到了起點;安裝了 Java 6 並且錯誤地安裝了 Java 7。
查看Ubuntu 的封包件列表中的文件列表,實際上發生了什麼是預期的行為,所以我猜可能 apt-get 儲存庫中的 OpenJDK 7 JRE 不適合命令行 Linux 發行版?
相反,我選擇在這里安裝 Oracle 的 Java 7 JDK/JRE 。
顯然你已經安裝了 java 6 和 7。如果您不需要它,解決這種情況的簡單方法可能是刪除 java 6:
sudo apt-get autoremove 'openjdk-6-jre*'