Comment installer Java 8 sur Mac

996

Je veux faire de la programmation avec le dernier JavaFX, qui nécessite Java 8. J'utilise IntelliJ 13 CE et Mac OS X 9 Mavericks. J'ai exécuté le programme d'installation Java 8 d'Oracle, et les fichiers semblent avoir fini à

/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk

mais les versions précédentes sont à

/System/Library/Java/JavaFrameworks/jdk1.6....

Vous ne savez pas pourquoi le dernier programme d'installation met cela à la /Libraryplace de /System/Library(ni quelle est la différence). Mais /usr/libexec/java_homene trouve pas 1.8, donc tous les articles que j'ai trouvés sur la façon de définir votre version java actuelle ne fonctionnent pas. J'ai essayé d'ajouter un lien symbolique pour qu'il ressemble à 1,8 dans le /System/Library...chemin, mais cela n'aide pas. /usr/libexec/java_home -Vne répertorie toujours que l'ancien Java 1.6.

Ironiquement, le panneau de configuration "Java" sous Préférences Système affiche uniquement Java 1.8!

Pourquoi le programme d'installation d'Oracle ne le place-t-il pas vraiment? Et comment puis-je contourner ce problème?

user3763100
la source
8
Il "va vraiment" là où il a fini - /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/. La précédente était où les versions Java fournies par Apple étaient allées, et comme Apple ne fournit plus Java, l'emplacement d'installation a changé.
awksp

Réponses:

1889

Oracle a un dossier médiocre pour faciliter l'installation et la configuration de Java, mais en utilisant Homebrew , le dernier OpenJDK (Java 14) peut être installé avec:

brew cask install java

Pour les nombreux cas d'utilisation dépendant d'une ancienne version (généralement Java 8), le projet AdoptOpenJDK le permet avec une étape supplémentaire.

brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk8

Les utilisateurs existants de Homebrew peuvent rencontrer en Error: Cask adoptopenjdk8 exists in multiple tapsraison de solutions de contournement antérieures avec des instructions différentes. Cela peut être résolu en spécifiant complètement l'emplacement avec brew cask install adoptopenjdk/openjdk/adoptopenjdk8.

l3x
la source
89
Depuis décembre 2015, il n'est plus nécessaire d'installer manuellement cask car il fait désormais partie de l'installation de homebrew. Donc, après la mise à jour de homebrew via brew update, vous êtes prêt à utiliser brew cask.
davetw12
63
Merci, c'est incroyable à quel point le processus d'installation Java est horrible en utilisant les liens / documents "officiels".
enderland
15
@tandrewnichols Je viens de courir brew cask install javasur mon El Capitan Mac et il se télécharge jdk-8u112-macosx-x64.dmg.
Calrion
44
Error: Cask 'java8' is unavailable: No Cask with this name exists.
Elderry
87
La solution de contournement pour maintenant est brew tap homebrew/cask-versionset l' utilisationbrew cask install homebrew/cask-versions/adoptopenjdk8
Sean Breckenridge
736

Remarque: Oracle Java 8/9/10 n'est plus disponible au téléchargement public (modification de licence).

Installez et mettez à jour le brew à partir du terminal:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew tap homebrew/cask-versions

brew update

NOUVEAU en juin 2019

Pour installer les JDK à partir d'AdoptOpenJDK:

brew tap adoptopenjdk/openjdk

brew cask install adoptopenjdk8
brew cask install adoptopenjdk9
brew cask install adoptopenjdk10
brew cask install adoptopenjdk11

VIEUX

Java 8:

brew cask install java8

Java Dernières:

brew cask install java
kavehmb
la source
3
Il est intéressant de noter que cela n'a pas fonctionné pour moi sur Mavericks, donc cela n'a pas répondu à la question du PO, mais cela a fonctionné pour moi sur Captain, donc c'était utile comme réponse ..
Tommy
3
J'ai installé homebrew fresh sur une nouvelle machine OS X El Capitan et je n'ai pas eu à exécuter la brew tapcommande dans la réponse ci-dessus. Les première et troisième commandes étaient suffisantes.
Adil Hussain
14
Error: Cask 'java8' is unavailable: No Cask with this name exists.
user924
4
$ brew cask install adoptopenjdk8 Error: Cask adoptopenjdk8 exists in multiple taps: caskroom/versions/adoptopenjdk8 adoptopenjdk/openjdk/adoptopenjdk8. Je dois utiliserbrew cask install adoptopenjdk/openjdk/adoptopenjdk8
roottraveller
5
brew tap homebrew/cask-versionset brew cask install adoptopenjdk8travaille pour moi sur Hi Sierra 10.13.6
xjlin0
135

Java8 n'est plus disponible sur homebrew, brew install java8ne fonctionnera pas.

Utilisez plutôt:

brew cask install adoptopenjdk/openjdk/adoptopenjdk8

Voir cet engagement pour les détails techniques.

Veuillez également noter que vous pouvez voir des problèmes autour Cask adoptopenjdk8 exists in multiple taps. Il s'agit d'un problème connu, en cours d'élaboration, que vous pouvez voir ici:

https://github.com/AdoptOpenJDK/homebrew-openjdk/issues/106

Pour ceux qui ne veulent pas parcourir les détails, voici un résumé:

# To install JDK8
brew cask install adoptopenjdk/openjdk/adoptopenjdk8

# To be able to safely run 'brew cleanup'
brew untap adoptopenjdk/openjdk
brew untap caskroom/versions
brew cleanup
Dave Kerr
la source
2
Y a-t-il une différence dans l'utilisation AdoptOpenJDK/openjdkau lieu d'utiliserhomebrew/cask-versions/adoptopenjdk8
Sean Breckenridge
J'obtiens ce qui suit lorsque j'essaie votre réponse: Cask adoptopenjdk8 existe en plusieurs taps: caskroom / versions / adoptopenjdk8 adoptopenjdk / openjdk / adoptopenjdk8
Koray Tugay
@KorayTugay J'ai mis à jour la réponse, cela devrait résoudre vos problèmes!
Dave Kerr
1
@SeanBreckenridge - l'équipe HomeBrew y travaille, au moment où il semble que AdoptOpenJDK sera utilisé, mais il y a encore une certaine incertitude, voir le problème actuellement ouvert github.com/AdoptOpenJDK/homebrew-openjdk/issues/106 pour plus de détails!
Dave Kerr
1
brew cask install homebrew/cask-versions/adoptopenjdk8a travaillé pour moi
protoEvangelion
123

Je viens de le faire sur mon MBP et j'ai dû utiliser

$ brew tap caskroom/versions
$ brew cask install java8

afin d'obtenir java8 à installer.

Jain Waldrip
la source
9
Cela m'a aidé à installer une version spécifique de java. Maintenant, lorsque java 9 est sorti, l'exécution de "brew cask install java" installe java 9. "brew cask install java8" ne fonctionnait pas jusqu'à ce que je lance "brew tap caskroom / versions".
interrompre
6
Oui, brew tap caskroom/versionsest requis avant d'installer java8
hendrix
11
ou juste brew install homebrew/cask-versions/java8pour la victoire!
Naruto Sempai
4
Il n'est plus possible d'installer Java8 à l'aide de Brew en raison des modifications de licence Oracle. Java8 n'est plus disponible au téléchargement public.
Marcelo Xavier
2
Voir stackoverflow.com/a/55775566/9306378 si vous souhaitez toujours utiliser java8. Notez que cela utilise OpenJDK.
Polpetta
62

Une option que je commence vraiment à aimer pour exécuter des applications sur mon ordinateur local est d'utiliser Docker. Vous pouvez simplement exécuter votre application dans le conteneur JDK officiel - ce qui signifie que vous n'avez pas à vous soucier de tout configurer sur votre machine locale (ou à exécuter plusieurs versions différentes du JDK pour différentes applications, etc.)

Bien que cela ne puisse pas vous aider avec vos problèmes d'installation actuels, c'est une solution qui signifie que vous pouvez contourner le champ de mines des problèmes liés à la tentative de faire fonctionner Java correctement sur votre machine de développement!

Les avantages sont les suivants:

  1. Pas besoin de configurer une version de Java sur votre machine locale (vous exécuterez simplement Java dans un conteneur que vous tirez de Docker Hub)
  2. Très facile de passer à différentes versions de Java en changeant simplement la balise sur le conteneur.
  3. Les dépendances du projet sont installées dans le conteneur - donc si vous gâchez votre configuration, vous pouvez simplement supprimer le conteneur et recommencer.

Un exemple très simple:

Créez un Dockerfile:

FROM java:8
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
  • Ici, nous spécifions le conteneur Java exécutant la version 8 du SDK (java:8 - utiliser Java 7, vous pouvez simplement préciser: java:7)
  • Nous mappons le répertoire local avec le répertoire: /usr/src/myapp à l'intérieur du conteneur

Créer un docker-compose.yml fichier:

version: "2"

services:
  java:
    build: .
    volumes:
      - .:/usr/src/myapp

Supposons maintenant que nous avons ce fichier Java:

HelloWorld.java

public class HelloWorld {
    public static void main(String[] args) {        
        System.out.println("Hello, World");
    }
}

Nous avons donc la structure de fichiers suivante:

.
|_ Dockerfile
|_ docker-compose.yml
|_ HelloWorld.java

Vous pouvez faire diverses choses Java comme:

compiler:

docker-compose run --rm java javac HelloWorld.java 
  • Vous devez noter que le HelloWorld.class apparaît dans votre répertoire actuel (c'est parce que nous avons mappé le répertoire actuel à l'emplacement à l'intérieur du conteneur où notre code existe

courir:

docker-compose run --rm java java HelloWorld 
  • Remarque: la première fois que vous l'exécutez, il récupérera l'image, etc. Cela prendra un certain temps - cela ne se produit que la première fois
  • docker-compose run - exécute une commande à partir du conteneur
  • -rm indique à docker de supprimer le conteneur une fois la commande terminée
  • java est le nom du service / conteneur (de notre fichier docker-compose) contre lequel cette commande s'exécutera
  • le reste de la ligne est la commande à exécuter à l'intérieur du conteneur.

C'est une façon assez cool de gérer différentes versions de Java pour différentes applications sans faire un gâchis complet de votre configuration locale :).

Voici un exemple un peu plus complexe avec Maven et une simple application Spring

Avertissement:

toast38coza
la source
2
Bon exemple en utilisant Docker, je ne sais pas pourquoi vous avez obtenu un downvote auparavant.
Andrew
28
J'imagine le downvote car cela ne répond pas à la question de l'exécution de Java sur OS X / MacOS. Répondre "Comment faire cela sur la plate-forme X" avec "Utilisez simplement une machine virtuelle / shim pour le faire sur la plate-forme Y" n'est pas productif.
whitfin
spécialement pour le développement natif de Java (par exemple en utilisant SWIG, JNI et LIBRARY_PATH)
Mizux
56

Hypothèse: machine Mac et vous avez déjà installé homebrew.

Installez cask (avec Homebrew 0.9.5 ou supérieur, le cask est inclus, sautez cette étape):

$ brew tap caskroom/cask
$ brew tap caskroom/versions

Pour installer le dernier java:

$ brew cask install java

Pour installer java 8:

$ brew cask install adoptopenjdk/openjdk/adoptopenjdk8

Si vous souhaitez installer / gérer plusieurs versions, vous pouvez utiliser 'jenv':

Installez et configurez jenv:

$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

Ajoutez le java installé à jenv:

$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/Contents/Home

Pour voir tous les java installés:

$ jenv versions

La commande ci-dessus donnera la liste des java installés:

* system (set by /Users/lyncean/.jenv/version)
1.8
1.8.0.202-ea
oracle64-1.8.0.202-ea

Configurez la version java que vous souhaitez utiliser:

$ jenv global oracle64-1.6.0.39

Pour définir JAVA_HOME:

$ jenv enable-plugin export
Lyncean Patel
la source
2
Meilleure solution! Je vous remercie!
viktorianer
1
Merci! Exactement ce que je cherchais.
csomakk
Je vous remercie. Commence par une solution courte et précise et continue avec un autre outil utile: «jenv» est pratique à avoir et est absent de la plupart des autres réponses. Aidé avec le code d' emballage Scala (2,12 / 2,13) en 2020.
emllnd
Fonctionne comme un charme, installez brew cask adoptopenjdk / openjdk / adoptopenjdk8
jeadonara
25

J'ai le même problème à résoudre, car j'ai besoin d'installer JDK8 pour exécuter Android SDK Manager (car il semble que cela ne fonctionne pas bien avec JDK9). Cependant, je vous explique comment résoudre tous les problèmes sur un Mac (Sierra).

Tout d' abord, vous devez brasser avec tonneau et jenv .

  1. Vous pouvez trouver un guide utile ici, Guide d'installation de Homebrew Cask . N'oubliez pas d'appuyer sur 'caskroom / versions' en cours d'exécution dans le terminal: brew tap caskroom/versions
  2. Après cela, installez jenv avec: brew install jenv
  3. Installez la version que vous voulez avec cask brew cask install java8(ou java7oujava si vous souhaitez installer la dernière version, jdk9)
  4. La dernière étape consiste à configurer la version à exécuter (et à laisser jenv gérer votre JAVA_HOME) jenv versions pour répertorier toutes les versions installées sur votre machine, puis activer celle que vous souhaitez avecjenv global [JDK_NAME_OF_LIST]

Vous pouvez trouver d'autres informations utiles ici sur ce Github Gist brew-java-and-jenv.md , sur ce blog Installer plusieurs JDK sur un Mac et sur le site Jenv

Benedetto Abbenanti
la source
jenv est assez facile et super utile. J'ai plusieurs projets qui ont besoin de Java 8 et 11
Nikhil Sahu
20
brew cask install caskroom/versions/java8
Arun
la source
18

Si vous avez plusieurs versions Java sur votre machine et que vous souhaitez la choisir dynamiquement lors de l'exécution, c'est à dire, dans mon cas, j'ai deux versions:

ls -la /Library/Java/JavaVirtualMachines
drwxr-xr-x  3 root  wheel    96B Nov 16  2014 jdk1.7.0_71.jdk/
drwxr-xr-x  3 root  wheel    96B Mar  1  2015 jdk1.8.0_31.jdk/

Vous pouvez les changer en modifiant le /etc/profilecontenu. Ajoutez (ou modifiez) simplement les deux lignes suivantes à la fin du fichier:

export JAVA_HOME=YOUR_JAVA_PATH/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Dans mon cas, cela devrait être comme suit si je veux utiliser:

Java 7:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Java 8:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Après avoir enregistré le fichier, veuillez exécuter source /etc/profile et cela devrait fonctionner. Voici les résultats lorsque j'utilise la première et la deuxième option en conséquence:

Java 7:

java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

Java 8:

java -version 
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)

Le processus est similaire si votre dossier java se trouve à différents emplacements.

nxhoaf
la source
Pourquoi ne pas créer un alias pour une version différente, comme alias java8=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java?
cglacet
14

Il semble que personne n'ait encore mentionné SDK man ( https://sdkman.io/ ).

SKD man permet d'installer plusieurs versions de Java sur Mac et de basculer facilement entre ces versions. Plus d'informations sont disponibles sur https://sdkman.io/usage .

Par exemple:

$ sdk list java                                                                                                                                                                                                                       
================================================================================
Available Java Versions
================================================================================
   * 12.ea.20-open
     11.0.1-zulu
 > * 11.0.1-open
     10.0.2-zulu
     10.0.2-open
     9.0.7-zulu
     9.0.4-open
     8.0.192-zulu
     8.0.191-oracle
   + 8.0.181-oracle
     7.0.181-zulu
     1.0.0-rc-10-grl
     1.0.0-rc-9-grl
     1.0.0-rc-8-grl


================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

$ sdk install java 8.0.191-oracle

$ sdk use java 8.0.191-oracle

Using java version 8.0.191-oracle in this shell.                                                                                                                                                                                                      

$ java -version                                                                                                                                                                                                                        
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

$ sdk use java 11.0.1-open                                           

Using java version 11.0.1-open in this shell.

$ java -version                                                                                                                                                                                                                        openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
                                                                                                                                                                                                         ```

stderr
la source
13

Utilisez l'installateur, Luke

D'autres réponses suggérant le gestionnaire de paquets Homebrew me semblent un peu extrêmes. Je suis sûr que Homebrew a de bonnes utilisations. Mais pour simplement exécuter Java, installer Homebrew est une étape supplémentaire inutile. Si votre objectif est simplement d'exécuter Java, téléchargez simplement un programme d'installation Mac à partir d'une source fiable.

Vous avez plusieurs sources pour obtenir une application d'installation facile à utiliser pour mettre Java sur votre Mac. Exécutez le programme d'installation sur votre Mac comme vous le feriez pour de nombreuses autres applications.

Voici un organigramme pour trouver une source de Java 11, dont certains proposent également Java 8.

Organigramme vous guidant dans le choix d'un fournisseur pour une implémentation Java 11

Téléchargez un programme d'installation auprès d'un fournisseur tel que AdoptOpenJDK.net.

Page de téléchargement sur AdoptOpenJDK.net

Exécutez le programme d'installation.

capture d'écran du programme d'installation en cours d'exécution

JavaVirtualMachines le dossier est maintenant correct

Pourquoi le programme d'installation d'Oracle ne le place-t-il pas vraiment? Et comment puis-je contourner ce problème?

Pas de problème.

Le dossier /Library/Java/JavaVirtualMachines/est le nouveau domicile des JVM sur macOS .

capture d'écran du dossier "/ Library / Java / JavaVirtualMachines /" dans le Finder

Pour installer une machine virtuelle Java, utilisez un programme d'installation, décrit ci-dessous.

Pour désinstaller, utilisez simplement le Finder pour supprimer une JVM de ce dossier. Un mot de passe administrateur système vous sera demandé pour terminer la suppression.


Java 9 & 10 & 11

En 2010, Apple a rejoint le projet OpenJDK , avec Oracle , IBM , Red Hat , Azul et d'autres fournisseurs Java. Chaque membre contribue au code source, aux tests et aux commentaires sur la base de code OpenJDK unifiée.

Apple a fourni la plupart de son code spécifique à Mac pour sa JVM. Désormais, Apple ne publie plus sa propre machine virtuelle Java spécifique à Mac. Vous avez maintenant le choix de votre fournisseur JVM, avec des builds provenant de la base de code OpenJDK.

Vous trouverez le code source sur: http://openjdk.java.net

Nouvelle cadence de sortie

Sachez qu'en 2017, Oracle, le JCP et OpenJDK ont adopté un nouveau plan de «train de sortie» rapide pour que les versions de Java régulièrement programmées soient livrées de manière prévisible.

Lisez cet article de blog Azul Systems 2018-07 pour de nombreux détails, Éliminer la confusion de mise à jour Java par Simon Ritter .

Lire aussi Java est toujours gratuit .

Vendeurs

Pour une liste assez exhaustive des implémentations JVM passées et présentes, voir cette page sur Wikipedia .

Voici une discussion de quelques fournisseurs. Voir l'organigramme ci-dessus pour plus de fournisseurs

Oracle JDK

Oracle fournit des programmes d'installation JDK et JRE pour plusieurs plates-formes, y compris macOS.

Au fil des années depuis l'acquisition de Sun, Oracle a combiné les meilleures parties des deux moteurs JVM, HotSpot et JRocket , et les a fusionnées dans OpenJDK projet utilisé comme base pour leurs propres implémentations de marque de Java.

Leur nouveau plan d'affaires, à partir de 2018, consiste à fournir une implémentation de marque Oracle de Java moyennant des frais de production et sans frais pour le développement / les tests / la démo. La prise en charge des versions précédentes nécessite un programme de support payant. Ils ont déclaré leur intention que leur version de marque soit à parité avec la version OpenJDK. Ils ont même fait don de leurs compléments commerciaux tels que Flight Recorder au projet OpenJDK.

Oracle publie également une build d'OpenJDK sans support: http://jdk.java.net/

Oracle a produit un JDK à usage spécial, GraalVM .

Zulu & Zing par Azul

Azul Systems fournit une variété de produits JVM.

  • Leur Zululigne est basée directement sur OpenJDK et est disponible sans frais avec des plans de support payants en option.
  • Leur Zinggamme propose des produits JVM commerciaux améliorés avec des implémentations techniques alternatives telles qu'un ramasse-miettes spécialisé .

Leurs deux gammes proposent des programmes d'installation pour macOS.

J'utilise actuellement Zulu pour Java 10.0.1 sur macOS High Sierra avec IntelliJ 2018.2 et Vaadin 8 . J'ai téléchargé depuis cette page . Soit dit en passant, je ne pas trouver tous les éléments liés à Java installés sur l'Apple Préférences Système app.

AdoptOpenJDK.net

AdoptOpenJDK est un effort mené par la communauté pour créer des binaires de la source OpenJDK. Ils ont l'intention d'offrir des mises à jour au fil du temps, comme donnés par les membres de la communauté.

  • Votre choix entre HotSpot ou OpenJ9 moteur .
  • Builds disponibles pour macOS, Linux et Windows.

OpenJ9 par Eclipse

Le projet OpenJ9 est une autre implémentation du moteur JVM, une alternative à HotSpot .

Maintenant parrainé par la Fondation Eclipse, avec la technologie et le soutien offerts par IBM en 2017.

Pour les binaires précompilés , ils vous renvoient au projet AdoptOpenJDK mentionné ci-dessus.

Motivations dans le choix d'un fournisseur pour Java.png


Comment installer

Les installateurs fournis par Oracle ou par Azul sont tous deux très simples à utiliser. Exécutez simplement l'application d'installation sur votre Mac. Une fenêtre apparaît pour indiquer la progression de l'installation.

Une fois terminé, vérifiez votre installation JVM en:

  • Visiter le /Library/Java/JavaVirtualMachines/dossier pour voir un élément pour la nouvelle JVM.
  • Exécution d'une console telle que Terminal.app et tapez java -versionpour voir la marque et le numéro de version de votre JVM.

Après avoir vérifié le succès, démontez l'image .dmg dans le Finder. Ensuite, supprimez le fichier .dmg que vous avez téléchargé.

Basil Bourque
la source
13

J'ai des applications qui utilisent à la fois Java 7 et 8 et doivent faire des allers-retours tout le temps.

J'utilise ce script écrit par Johan:

http://www.jayway.com/2014/01/15/how-to-switch-jdk-version-on-mac-os-x-maverick/

Vous pouvez maintenant le définir au démarrage ou appeler le script par la suite.
Installez le JDK pour Mac.

Java 7

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

Java 8

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


Recommandation mise à jour !!:

Utilisez jenv https://www.jenv.be/ et homebrew.

Ensuite, c'est juste jenv global oracle6401.6.0.39et son ensemble.

Nathan Dunn
la source
1
+1: j'utilise ce script et je suis d'accord, il est assez utile pour les développeurs qui ont plusieurs projets qui nécessitent différentes versions de Java.
barclay
8
Il n'est vraiment pas nécessaire de définir de scripts tant que vous n'avez besoin d'utiliser qu'une version spécifique à l'échelle du système. Fondamentalement, tout ce que vous devez faire est d'ajouter à votre ~/.bashrcou ~/.bash_profile: export JAVA_HOME = "/ usr / libexec / java_home -v 1.8" et également ajouter votre $JAVA_HOME/binà $PATHsi l'installateur java ne l'a pas déjà fait. (REMARQUE: remplacez les guillemets doubles par des guillemets pour / usr / libexec / java_home, ne pouvez pas saisir de guillemets littéraux dans les commentaires ..)
ccpizza
si vous souhaitez installer java 7 (le long de java 8) via homebrew, la commande est brew tap caskroom/versionssuivie de brew cask install java7.
icfantv
2
jenv est un outil très pratique pour gérer plusieurs versions de Java, globalement ou localement par répertoire.
Christian Long
11

Exécutez ces commandes sur mac High Sierra

brew update
brew tap caskroom/versions
brew cask install java8

et vérifier avec la commande

java -version
TLbiz
la source
Obtenir ceci:Error: Download failed on Cask 'java8' with message: Download failed: https://download.oracle.com/otn-pub/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-macosx-x64.dmg
Siddhartha
7

Utilisation d'infusion

brew install Caskroom/cask/java
Santhosh
la source
7

Le meilleur moyen est d'utiliser le gestionnaire de paquets Brew, mais la commande

 brew cask install java8

échoue avec une erreur:

Error: No available formula with the name "java8" 

Alors utilisez

brew cask install caskroom/versions/java8

Comment ai-je trouvé "caskroom / versions / java8": en utilisant la commande de recherche de brew:

brew cask search java8
Navjot Bhardwaj
la source
7

Si vous ne l'utilisez PAS pour un usage personnel, vous voudrez peut-être utiliser OpenJDK à la place pour éviter tout procès potentiel d'Oracle.

brew cask install adoptopenjdk8
Edmund Lee
la source
trouver / usr / local / Homebrew / Bibliothèque / Taps / | grep -i jdk | xargs rm -v si vous arrive, obtenez l'erreur "Erreur: Cask adoptopenjdk8 existe en plusieurs prises:" erreur ...
Yordan Georgiev
5

Si vous êtes sur un Mac, Homebrew est le moyen d'installer des trucs.

Il semble que la version 8 ne soit plus la plus récente, elle n'est donc pas disponible avec la valeur par défaut brew cask install java.

Au lieu de cela, j'ai réussi en procédant comme suit:

brew install homebrew/cask-versions/

Si cela échoue, essayez directement le suivant:

brew install homebrew/cask-versions/adoptopenjdk8

Testez avec brew cask listoujava -version

Anas
la source
+1, qui fonctionne pour moi sur macOS 10.12.6 Sierra. (Ou installez brew cask adoptopenjdk / openjdk / adoptopenjdk8)
McAllister Bowman
+1 Le premier a échoué (erreur: aucune formule disponible avec le nom "homebrew / cask-versions /"), mais le second semble fonctionner. Réponse mise à jour pour éviter d'effrayer les gens avec la première défaillance.
Dennis Jaheruddin
4

Le plus simple est de télécharger le fichier dmg à partir du site suivant et de l'installer en double-cliquant

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

rechercher les machines virtuelles Java disponibles dans le répertoire personnel

ls -al /Library/Java/JavaVirtualMachines

et mettre à jour le .bash_profile avec la version appropriée

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_XXX.jdk./Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

et enfin

source ~/.bash_profile
vimal krishna
la source
3

Installer avec Homebrew

La version de Java disponible dans Homebrew Cask avant le 3 octobre 2018 était en effet la JVM Oracle. Maintenant, cependant, il a maintenant été mis à jour vers OpenJDK. Assurez-vous de mettre à jour Homebrew et vous verrez alors la dernière version disponible pour l'installation.

1. installez Homebrew si vous ne l'avez pas déjà fait. Assurez-vous qu'il est mis à jour:

brew update

2. Ajoutez le robinet de fûts, si vous ne l'avez pas déjà fait (ou si vous ne voyez plus d'anciennes versions de Java à l'étape 3):

brew tap homebrew/cask-versions

3. et pour les versions AdoptOpenJDK, ajoutez ce robinet:

brew tap adoptopenjdk/openjdk

Ces fûts changent souvent leurs versions Java, et il pourrait y avoir d'autres robinets avec des versions Java supplémentaires.

4. Recherchez les versions installables:

brew search java 

ou pour les versions AdoptOpenJDK:

brew search jdk     

5. Vérifiez les détails de la version qui sera installée:

brew cask info java

ou pour la version AdoptOpenJDK:

brew cask info adoptopenjdk

6. Installez une version spécifique du JDK telle que java11, adoptopenjdk8, ou simplement java ou adoptopenjdk pour la version actuelle. Par exemple:

**brew cask install java**

**brew cask install java8**

**brew cask install java11**

Vous pouvez également utiliser le chemin d'accès complet aux anciennes versions:

brew cask install homebrew/cask-versions/java11
Dean Jain
la source
Vraisemblablement, j'ai fait quelque chose de mal, mais en essayant de faire java8, j'ai eu une erreur: Erreur: Cask 'java8' n'est pas disponible: aucun Cask avec ce nom n'existe.
Dennis Jaheruddin
2

Vous pouvez essayer ceci:

$ brew search jdk
$ brew cask install homebrew/cask-versions/adoptopenjdk8
$ /usr/libexec/java_home

 

geek
la source
2

Manière la plus simple

1) brew cask install java

2) java -version

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

PS - Cask est une extension de Homebrew qui est destinée à gérer les gros binaires Mac et les applications graphiques, mais en utilisant l'interface Homebrew. Voir également cette réponse sur Apple StackExchange.

saveur
la source
il installe toujours la dernière version
Ray Garner
1

Essayez:

brew cask install java 8, cela donnera le résultat ci-dessous

8tracksradiohelper adoptopenjdk8 amitv87-pip corretto8 icons8 vmware-fusion8 x48 zulu8

Entrez ensuite: brew cask install adoptopenjdk8 ---- java 8 sera installé sur Mac.

args
la source
0

Je suggérerais d'utiliser l'homme SDK qui est assez facile pour changer la version (temporairement et permanente) et il fournit également d'autres SDK. J'utilise l'homme SDK depuis plus d'un an maintenant.

https://sdkman.io/

saif ali
la source
ty pour un pourboire à sdkman.io! J'ai vu cela à cause du fil si long mais capable de lire la fin. Pour info, cette astuce est également au dessus de stackoverflow.com/a/54101167/242110
AnneTheAgile
-4

Les étapes ci-dessous ont fonctionné pour moi.

1) Désinstaller tous les jdks

Dans la fenêtre Terminal, copiez et collez la commande ci-dessous:

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefpane

2) Installez APPLE jdk.

https://support.apple.com/kb/DL1572?locale=en_US

3) Téléchargez le dernier JDK d'Oracle et installez-le, pour moi c'était JDK 1.82

http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

C'est tout cela fonctionnera comme un charme.

sembian
la source