La façon la plus simple de gérer plusieurs versions java sur Mac est d'utiliser Homebrew
.
Et à l'intérieur Homebrew
, utilisez:
homebrew-cask
installer les versions de java
jenv
gérer les versions installées de java
Comme vu sur http://hanxue-it.blogspot.ch/2014/05/installing-java-8-managing-multiple.html , ce sont les étapes à suivre.
- installer homebrew
- installer homebrew jenv
- installer homebrew-cask
- installer une version java spécifique en utilisant cask (voir le paragraphe "versions homebrew-cask" ci-dessous)
- ajouter cette version pour jenv pour la gérer
- vérifier que la version est correctement gérée par jenv
- répétez les étapes 4 à 6 pour chaque version de java dont vous avez besoin
versions homebrew-cask
Ajoutez le homebrew/cask-versions
robinet à l'homebrew en utilisant:
brew tap homebrew/cask-versions
Ensuite, vous pouvez consulter toutes les versions disponibles:
brew search java
Ensuite, vous pouvez installer la ou les versions que vous aimez:
brew cask install java7
brew cask install java6
Et ajoutez-les pour qu'ils soient gérés par jenv comme d'habitude.
jenv add <javaVersionPathHere>
Je pense que c'est la manière la plus propre et la plus simple de s'y prendre.
Une autre chose importante à noter, comme mentionné dans Mac OS X 10.6.7 Java Path Current JDK confus :
Pour différents types de JDK ou d'installations, vous aurez des chemins différents
Vous pouvez vérifier les chemins des versions installées à l'aide de /usr/libexec/java_home -V
, voir Comment puis-je vérifier si le JDK Java est installé sur Mac?
Sur Mac OS X Mavericks, j'ai trouvé ce qui suit:
1) JRE intégré par défaut: /Library/Internet\
Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
2) JDK téléchargés depuis Apple: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/
3) JDK téléchargés depuis Oracle: /Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home
Ressources
brew install caskroom/cask/brew-cask
au lieu d'brew install cask
un plugin Emacs.jenv
renvoyer l'No such file or directory.
erreur. Ce wiki a aidé à le résoudre pour moi. github.com/gcuisinier/jenv/wiki/Trouble-Shooting/Library/Java/JavaVirtualMachines/
et lorsquejenv add
vous les ajoutez avec vous ajoutez un chemin ressemblant à ceci/Library/Java/JavaVirtualMachines/[specific-version]/Contents/Home/
. À votre santé!brew cask search java7
mais aucun Cask n'a été trouvé pour "java7"./usr/libexec/java_home -V
pour vérifier les chemins où ils ont été installés.Désinstallez jdk8, installez jdk7, puis réinstallez jdk8.
Mon approche pour basculer entre eux (en .profile):
Ensuite, vous pouvez simplement taper
java7
oujava8
dans un terminal pour changer de version.(édition: mise à jour pour ajouter l'amélioration de Dylans pour Java 9)
la source
9
par exempleexport JAVA_9_HOME=$(/usr/libexec/java_home -v9)
Pour macOS Sierra 420
Ce guide a été bricolé à partir de diverses sources (réponses ci-dessus ainsi que d'autres messages) et fonctionne parfaitement.
0. Si ce n'est pas déjà fait, installez homebrew.
Voir https://brew.sh/
1. Installez jenv
2. Ajoutez jenv au profil bash
3. Ajoutez jenv à votre chemin
4. Appuyez sur "caskroom / versions"
FYI: "Tap" étend la liste des référentiels disponibles qu'il peut installer, au-delà de la liste par défaut des référentiels disponibles.
5. Installez la dernière version de java
6. Installez java 6 (ou 7 ou 8 selon vos besoins)
? Fermez et redémarrez peut-être Terminal pour qu'il voit toutes les nouvelles versions ENV qui ont été configurées.
7. Examiner les installations
Toutes les versions Java sont installées ici:
/Library/Java/JavaVirtualMachines
jetons un œil.8. Ajoutez chaque chemin d'accès à jenv un par un.
Nous devons ajouter "/ Contents / Home" au dossier de version. AVERTISSEMENT: Utilisez les chemins réels sur votre machine ... ce ne sont que Exemple d »
9. Vérifiez si jenv s'est bien enregistré
10. Définissez la version java à utiliser (globalement)
Où XX correspond à l'un des éléments de la liste des versions ci-dessus.
Vérifier la version java
Vérifier les versions jenv
Doit également indiquer la version actuelle utilisée avec un astérisque.
TERMINÉ
Référence future rapide
Pour changer les versions de Java
... Voir la liste des versions java disponibles
... puis, où XX correspond à un élément de la liste ci-dessus
la source
brew cask install java*
brew tap caskroom/versions
devrait êtrebrew tap homebrew/cask-versions
SDKMAN! est un excellent outil pour utiliser plusieurs versions de Java, Gradle, Groovy, Kotlin et d'autres outils JVM sur Mac OS. Les documents d'installation et d'utilisation sont clairement sur le site principal.
(Je n'ai aucune affiliation, juste un utilisateur heureux).
À titre d'exemple d'utilisation, si je tape ce qui suit dans une fenêtre de terminal, il y a une liste des versions du SDK Java disponibles (éditées par souci de concision):
+
Indique ici que la version est installée.>
indique quelle version est actuellement utilisée. Pour installer une version:Pour utiliser une version dans cette fenêtre de terminal:
la source
Comme on le trouve sur ce site Web Commençons donc par installer jEnv
Exécutez ceci dans le terminal
Ajouter jEnv au profil bash
Lors de la première installation de jEnv, aucun JDK ne lui sera associé.
Par exemple, je viens d'installer JDK 8 mais jEnv ne le sait pas. Pour vérifier les versions Java sur jEnv
Pour le moment, il n'a trouvé que la version Java (jre) sur le système. La
*
montre la version actuellement sélectionnée. Contrairement à rvm et rbenv, jEnv ne peut pas installer JDK pour vous. Vous devez installer JDK manuellement à partir du site Web d'Oracle.Installez JDK 6 à partir du site Web d'Apple. Cela installera Java dans
/System/Library/Java/JavaVirtualMachines/
. La raison pour laquelle nous installons Java 6 à partir du site Web d'Apple est que SUN n'a pas proposé JDK 6 pour MAC, donc Apple a créé / modifié sa propre version de déploiement.De même, installez JDK7 et JDK8.
Ajoutez des JDK à jEnv.
JDK 6:
JDK 7:
JDK 8:
Vérifiez les versions de java installées à l'aide de jenv
Nous avons donc maintenant 3 versions de Java sur notre système. Pour définir une version par défaut, utilisez la commande
Ex - Je voulais que Jdk 1.6 démarre IntelliJ
vérifier la version java
java -version
C'est tout. Nous avons maintenant plusieurs versions de java et nous pouvons basculer facilement entre elles. jEnv a également d'autres fonctionnalités, telles que des wrappers pour Gradle, Ant, Maven, etc., et la possibilité de définir des options JVM globalement ou localement. Consultez la documentation pour plus d'informations.
la source
Je trouve récemment ce gestionnaire de versions Java appelé Jabba et l'utilisation est très similaire aux gestionnaires de versions d'autres langages comme rvm (ruby), nvm (nœud), pyenv (python), etc. Mac.
Après l'installation, il créera un répertoire dans ~ / .jabba pour mettre toutes les versions Java que vous installez. Il "Prend en charge l'installation d'Oracle JDK (par défaut) / Server JRE, Zulu OpenJDK (depuis 0.3.0), IBM SDK, Java Technology Edition (depuis 0.6.0) et à partir d'URL personnalisées.".
L'utilisation de base est répertoriée sur leur Github. Un résumé rapide pour commencer:
la source
J'utilise Mac OS X 10.9.5. C'est ainsi que je gère plusieurs JDK / JRE sur ma machine lorsque j'ai besoin d'une version pour exécuter l'application A et utiliser une autre version pour l'application B.
J'ai créé le script suivant après avoir obtenu de l'aide en ligne.
J'ai mis le script ci-dessus dans un fichier .profile. Ouvrez simplement le terminal, tapez vi .profile, ajoutez le script avec l'extrait ci-dessus et enregistrez-le. Une fois votre type de sortie terminé
source .profile
, cela exécutera votre script de profil sans que vous ayez à redémarrer le terminal. Tapez maintenantjava -version
il devrait afficher 1.7 comme votre version actuelle. Si vous avez l'intention de le changer en 1.8, commentez la lignesetjdk jdk1.7.0_15.jdk
et décommentez la lignesetjdk jdk1.8.0_60.jdk
. Enregistrez le script et exécutez-le à nouveau avec la commande source. J'utilise ce mécanisme pour gérer plusieurs versions de JDK / JRE lorsque je dois compiler 2 projets Maven différents qui nécessitent des versions java différentes.la source
Jenv sur Mac Sierra:
si cela ne fonctionne pas après l'installation, effectuez cette correction de bogue pour ajouter l'exécutable Java au chemin
même si
eval "$(jenv init -)"
pourrait faire ce travail. La raison en est que le dossier / bin n'est plus là comme décrit dans sa page d'accueil, mais le dossier shim est utilisé comme / bin à la place.which java
peut imprimer / Bibliothèque / ...Finalement,
which java
vous donne:la source
Dans le même esprit que @Vegard (léger):
Mettez cette
jdk
fonction bash et une valeur par défaut dans votre.profile
puis, pour changer votre jdk, vous pouvez faire
Basé sur https://github.com/AdoptOpenJDK/homebrew-openjdk .
la source
Voici une version plus sèche pour bash (basé sur la réponse de Vegard)
Remplacez 1.7 et 1.8 par les versions qui vous intéressent et vous obtiendrez un alias appelé «javaX»; où 'X' est la version java (7/8 dans l'extrait ci-dessous) qui vous permettra de changer facilement de version
la source
Pour installer des versions plus récentes d'OpenJDK, j'utilise ceci. Exemple pour OpenJDK 14:
Voir https://github.com/AdoptOpenJDK/homebrew-openjdk pour les informations actuelles.
la source