Zamień openjdk na oracle-jdk na Ubuntu

53

Mam system Ubuntu i chcę zastąpić mój openjdk oracle-jdk.

Jednak jeśli usunę mój open-jdk, a następnie zainstaluję oracle-jdk, kiedy spróbuję zainstalować niektóre pakiety, chcą zainstalować openjdk i nie chcę tego.

Czy jest jakiś sposób na zainstalowanie tych pakietów na oracle-jdk? Jednym z tych pakietów jest Freemind.

mały Ali
źródło
Które pakiety wymagają open-jdk, który chcesz zainstalować? (oprócz freemind)
Seth
Złapałem Oracle JDK dodając się do PATHw /etc/profile.d/jdk.sh. Usunięcie tego pliku i uruchomienie nowej powłoki pozwoliło update-alternativesmu wykonać swoją pracę.
jozxyqk

Odpowiedzi:

78

Możesz całkowicie usunąć OpenJDKświeżą instalację, Oracle Java JDKwykonując następujące kroki:

  1. Usuń OpenJDKcałkowicie za pomocą tego polecenia:

    sudo apt-get purge openjdk-\*
  2. Pobierz Oracle Java JDK tutaj .

    Uwaga: pobierz odpowiedni plik, na przykład jeśli twój system to Ubuntu x64 (tj. Debian), plik do pobrania ma następującą nazwę:jdk-8u51-linux-x64.tar.gz

    Aby sprawdzić, która wersja jest Twoim systemem operacyjnym, sprawdź tutaj

  3. Utwórz folder o nazwie javaw /usr/local/tym poleceniem:

    sudo mkdir -p /usr/local/java
  4. Skopiuj pobrany plik do katalogu /usr/local/java. Aby to zrobić, cdprzejdź do katalogu , w którym znajduje się pobrany plik, i użyj tego polecenia do skopiowania tego pliku do /usr/local/java/:

    sudo cp -r jdk-8u51-linux-x64.tar.gz /usr/local/java/
  5. CD do /usr/local/java/katalogu i rozpakuj skopiowany plik za pomocą tego polecenia:

    sudo tar xvzf jdk-8u51-linux-x64.tar.gz
  6. Po rozpakowaniu zobaczysz folder o nazwie jdk1.8.0_51.

  7. Zaktualizuj PATHplik, otwierając /etc/profileplik za pomocą polecenia sudo nano /etc/profilei wklej na końcu pliku:

    JAVA_HOME=/usr/local/java/jdk1.8.0_51
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    export JAVA_HOME
    export PATH
  8. Zapisz i wyjdź.

  9. Poinformuj system, że nowa wersja Oracle Java jest dostępna za pomocą następujących poleceń:

    sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_51/bin/java" 1
    sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_51/bin/javac" 1
    sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_51/bin/javaws" 1
  10. Ustaw JDK Oracle Java jako domyślny, wykonując następujące polecenia:

    sudo update-alternatives --set java /usr/local/java/jdk1.8.0_51/bin/java
    sudo update-alternatives --set javac /usr/local/java/jdk1.8.0_51/bin/javac
    sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_51/bin/javaws
  11. Ponownie załaduj sATEM wide PATH / etc / profile za pomocą tego polecenia:

    source /etc/profile
  12. Uruchom ponownie system.

  13. Sprawdź wersję JDK Java za pomocą java -versionkomendy. Jeśli instalacja zakończy się powodzeniem, wyświetli się następująco:

    java version "1.8.0_51"
    Java(TM) SE Runtime Environment (build 1.8.0_51-xxx)
    Java HotSpot(TM) Server VM (build 25.51-xxx, mixed mode)

Otóż ​​to!

Uwaga: Zakładamy, że pobrany plik ma nazwę jdk-8u51-linux-x64.tar.gzi użyliśmy tej nazwy we wszystkich poleceniach używanych w krokach 2, 4 i 5. Może to zależeć od typu systemu operacyjnego, typu procesora (tj. 32-bitowego lub 64-bitowego)

Nithi2023
źródło
1
Poza tym jest to poprawny sposób ręcznej instalacji oracle-jdk. Dostępny jest pakiet WebUpd8 PPA, który również zostanie zaktualizowany. Dlatego nie ma potrzeby instalowania każdej nowej wersji ręcznie. Zobacz moją odpowiedź tutaj: askubuntu.com/questions/466166/…
lschuetze
2
Zamiast używać katalogu jdk1.8.0_51, utwórz dowiązanie symboliczne o nazwie po prostu „jdk” do tego katalogu, a przy następnej aktualizacji wyodrębnij archiwum JDK i ponownie utwórz dowiązanie symboliczne i gotowe.
ColinM
dla użytkowników ubuntu: istnieje niezawodna metoda poniżej @mihaic, która działa dobrze dla mnie
Carson Ip
Jesteś
gwiazdą
Pamiętaj, że jeśli chcesz pobrać JDK z Ubuntu Server (bez GUI), możesz użyć następującego polecenia: wget --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/9.0.4+11/c2514751926b4512b076cc82f959763f/jdk-9.0.4_linux-x64_bin.tar.gz" Zawsze możesz skopiować najnowszą wersję, wracając na stronę pobierania Oracle i generując nową.
Toan Nguyen,
20

Nie musisz usuwać openjdk, aby użyć / zainstalować jdk wyroczni. Wystarczy zainstalować jdk wyroczni i skonfigurować java, której chcesz używać, konfigurując go za pomocą:

sudo update-alternatives --config java

Więcej pomocy znajdziesz tutaj: https://help.ubuntu.com/community/Java

Myx
źródło
Potrzebuję sposobu, aby mieć tylko jedną java na moim Ubuntu. tnx.
mały ali
To świetna odpowiedź. Groovy na Debianie jessie zmusza openjdk do zainstalowania, ale praca, którą wykonuję wymaga (nie pytaj) Oracle JDK do kompilacji. Ta opcja pozwoliła mi zostawić zarówno openjdk, jak i oracle jdk zainstalowane, więc wszystko gra ładnie. Dzięki!
sanimalp
11

Testowane w Ubuntu 14.04 / 16.04. W trzech krokach:

  1. Zainstaluj oracle-java7-installer(lub oracle-java8-installer) z repozytorium webupd8team

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer
  2. Upewnij się, że działa z następującą komendą:

    java -version

    Powinien wyświetlać coś podobnego do:

    java version "1.7.0_76"
    Java(TM) SE Runtime Environment (build 1.7.0_76-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.76-b04, mixed mode)
  3. (Opcjonalnie) Usuń open-jdk, jeśli naprawdę chcesz / potrzebujesz:

    sudo apt-get purge openjdk-\*

Więcej informacji znajdziesz tutaj

toto_tico
źródło
Postępowałem zgodnie ze wskazówkami i dostałem Unable to find java executable. Check JAVA_HOME and PATH environment variables.błąd
Zack S
zaskoczony znalezieniem własnej odpowiedzi rok później, to nadal działa dla Ubuntu 16.04 ioracle-java8-installer
toto_tico
Dostałem to podczas dodawania repozytorium:W: The repository 'http://ppa.launchpad.net/natecarlson/maven3/ubuntu xenial Release' does not have a Release file. N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
crockpotveggies
8

Po usunięciu openjdk, wypróbuj to podejście, które zadziałało dla mnie:

Zainstaluj oracle JDK 7 na serwerze Ubuntu (testowany z Ubuntu 12.0.4)

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

więcej informacji tutaj: https://launchpad.net/~webupd8team/+archive/java

(uwaga, aby dostosować to do twojej wersji jdk)

Mihaic
źródło