2015-09-03 105 views
1

我剛剛在我的小型服務器機箱上安裝了CentOS。我正在將我的服務器從Windows Server轉移到Linux/CentOS,我遇到了一個小問題。Java JRE CentOS更新問題

,因爲我認爲這將加快這一進程,我查了一下「安裝Java」當我安裝CentOS的。但是,它安裝了Java 7,我需要使用Java 8,因爲我們的代碼使用了Java 8中的一些新功能。

我試過手動刪除Java JRE 7,下載rpm並使用yum。但是,似乎仍然安裝了Java 7,或者正在重寫Java JRE 8安裝。

我可以提供任何日誌需要。謝謝!


轉-qa的Java *'

java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64 
javapackages-tools-3.4.1-6.el7_0.noarch 
+1

什麼版本的CentOS? 「手動更新」是什麼意思?你下載了哪些RPM?你用「yum」嘗試了什麼?安裝了什麼java軟件包(例如'rpm -qa'java *''說什麼?)? –

+0

@EtanReisner對不起模糊的問題。通過「手動更新」我的意思是「手動刪除java文件夾」。用「yum」,我試着用下載的RPM「yum localinstall jdk-8u60-linux-x64.rpm」,我也嘗試雙擊圖標。 –

+0

如果您手動刪除通過yum軟件包安裝的目錄,您可能會極大地混淆/損害您的系統。只是爲了記錄。 –

回答

4

這裏是我做了我的CentOS7箱:

yum list installed java* 
sudo yum remove java-1.7.0-openjdk java-1.7.0-openjdk-headless 

於是我下載了Oracle的JDK RPM:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html(我選擇了jdk-8u60-linux-x64.rpm)。然後安裝它使用

sudo yum localinstall jdk-8u60-linux-x64.rpm 

對我來說,工作。追蹤您的java二進制文件,你可以做這樣的:

[~]$ which java 
/usr/bin/java 
[~]$ ls -l /usr/bin/java 
lrwxrwxrwx. 1 root root 22 3. Sep 02:49 /usr/bin/java -> /etc/alternatives/java 
[~]$ ls -l /etc/alternatives/java 
lrwxrwxrwx. 1 root root 34 3. Sep 02:49 /etc/alternatives/java -> /usr/java/jdk1.8.0_51/jre/bin/java 

如果您的Java二進制文件在/ etc /替代鏈接,您可以使用alternatives(8)來選擇所需的版本。

+0

這工作像一個魅力,忽略我以前的評論。非常感謝! –

+1

CentOS 7幾乎肯定有官方的'java-1.8.0-openjdk'軟件包用於記錄。 –

+1

我讀到了一些關於Eclipse與OpenJDK不兼容的城市傳說,所以我選擇了迷信的方法並選擇了Oracle的JDK。但我承認,這與這個問題無關。 –