Remplacez openjdk par oracle-jdk sur Ubuntu


53

J'ai un système Ubuntu et je veux remplacer mon openjdk par oracle-jdk.

Cependant, si je supprime mon open-jdk puis installe oracle-jdk, lorsque j'essaie d'installer des paquets, ils veulent installer openjdk et je ne le souhaite pas.

Est-il possible d'installer ces paquets sur oracle-jdk? Un de ces paquets est freemind.


Quels paquets nécessitent open-jdk que vous souhaitez installer? (outre freemind)
Seth

J'ai attrapé oracle-jdk s'ajoutant PATHdans /etc/profile.d/jdk.sh. En supprimant ce fichier et en démarrant un nouveau shell, on a pu update-alternativesfaire son travail.
Jozxyqk

Réponses:


78

Vous pouvez supprimer complètement la OpenJDKnouvelle installation Oracle Java JDKen procédant comme suit:

  1. Supprimer OpenJDKcomplètement par cette commande:

    sudo apt-get purge openjdk-\*
  2. Téléchargez le Oracle Java JDK ici .

    Remarque: téléchargez le fichier approprié. Par exemple, si votre système utilise Ubuntu x64 (c’est-à-dire Debian), le fichier à télécharger porte le nom suivant:jdk-8u51-linux-x64.tar.gz

    Pour trouver quelle version est votre système d'exploitation, cliquez ici

  3. Créez un dossier nommé javadans /usr/local/par cette commande:

    sudo mkdir -p /usr/local/java
  4. Copiez le fichier téléchargé dans le répertoire /usr/local/java. Pour ce faire, cddans le répertoire où se trouve le fichier téléchargé, utilisez cette commande pour copier ce fichier dans /usr/local/java/:

    sudo cp -r jdk-8u51-linux-x64.tar.gz /usr/local/java/
  5. CD dans le /usr/local/java/répertoire et extrayez ce fichier copié en utilisant cette commande:

    sudo tar xvzf jdk-8u51-linux-x64.tar.gz
  6. Après l'extraction, vous devez voir un dossier nommé jdk1.8.0_51.

  7. Mettez à jour le PATHfichier en l'ouvrant /etc/profileà l'aide de la commande sudo nano /etc/profileet collez le texte suivant à la fin du fichier:

    JAVA_HOME=/usr/local/java/jdk1.8.0_51
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    export JAVA_HOME
    export PATH
  8. Sauvegarder et quitter.

  9. Indiquez au système que la nouvelle version d'Oracle Java est disponible à l'aide des commandes suivantes:

    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. Définissez Oracle Java JDK par défaut à l'aide des commandes suivantes:

    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. Rechargez le chemin PATH / etc / profile à l’aide de cette commande:

    source /etc/profile
  12. Redémarrez votre système.

  13. Vérifiez la version du JDK Java par java -versioncommande. Si l'installation réussit, elle s'affichera comme suit:

    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)

C'est ça!

Remarque: Nous supposons que le fichier téléchargé est nommé jdk-8u51-linux-x64.tar.gzet utilise ce nom dans toutes les commandes utilisées aux étapes 2, 4 et 5. Cela peut dépendre du type de système d'exploitation, du type de processeur (c'est-à-dire 32 bits ou 64 bits).


1
Outre la méthode correcte pour installer manuellement oracle-jdk, WebUpd8 PPA contient un paquet qui sera également mis à jour. Il n'est donc pas nécessaire d'installer chaque nouvelle version manuellement. Voir ma réponse ici: askubuntu.com/questions/466166/…
lschuetze

2
Au lieu d'utiliser le répertoire jdk1.8.0_51, créez un lien symbolique nommé juste "jdk" vers ce répertoire et, la prochaine fois que vous mettrez à jour, extrayez simplement l'archive JDK et recréez le lien symbolique.
ColinM

pour les utilisateurs d'ubuntu: theres une méthode infaillible ci-dessous de @mihaic qui fonctionne bien pour moi
Carson Ip

Vous êtes rockstar
Bhupinder

Veuillez noter que si vous souhaitez télécharger le JDK sur Ubuntu Server (sans interface graphique), vous pouvez utiliser la commande suivante: 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" Vous pouvez toujours copier la dernière version en remontant la page de téléchargement Oracle et en générer une nouvelle.
Toan Nguyen

20

Vous n'avez pas besoin de supprimer openjdk pour utiliser / installer le jdk d'Oracle. Installez simplement le jdk de l'oracle et configurez le java que vous voulez utiliser en le configurant avec:

sudo update-alternatives --config java

Vous pouvez trouver plus d'aide ici: https://help.ubuntu.com/community/Java


J'ai besoin d'un moyen d'avoir un seul java sur mon Ubuntu. tnx.
petite ali

C'est une excellente réponse. Groovy sur Debian jessie oblige openjdk à être installé, mais le travail que je fais nécessite (ne pas demander) la compilation du JDK Oracle. Cette option m'a permis de laisser openjdk et oracle jdk installés afin que tout fonctionne correctement. Merci!
sanimalp

11

Testé sous Ubuntu 14.04 / 16.04. En trois étapes:

  1. Installez le oracle-java7-installer(ou oracle-java8-installer) à partir du référentiel webupd8team

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer
  2. Assurez-vous que cela fonctionne avec la commande suivante:

    java -version

    Il devrait afficher quelque chose de similaire à:

    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. (Facultatif) Supprimez open-jdk si vous souhaitez / devez réellement:

    sudo apt-get purge openjdk-\*

Vous pouvez trouver plus d'informations ici


Suivi vos instructions et a une Unable to find java executable. Check JAVA_HOME and PATH environment variables.erreur
Zack S

surpris de trouver ma propre réponse un an plus tard, cela fonctionne toujours pour Ubuntu 16.04 etoracle-java8-installer
toto_tico

Vous avez ceci en ajoutant le repo: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

Après avoir supprimé openjdk, essayez cette approche qui a fonctionné pour moi:

Installer Oracle jdk 7 sur le serveur Ubuntu (testé avec 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

Quelques informations supplémentaires ici: https://launchpad.net/~webupd8team/+archive/java

(note pour adapter ceci à votre version de jdk)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.