[JAVA] Comment configurer et utiliser jEnv (Mac)

Qu'est-ce que "jEnv"?

Outil de gestion d'environnement Java. En introduisant jEnv, vous pouvez facilement basculer entre les versions de Java. C'est pyenv en Python. La méthode de fonctionnement est presque la même.

environnement

installer

Installez jEnv

Installez depuis Homebrew.

$ brew update
$ brew install jenv

Ajoutez ce qui suit à .bash_profile et passez-le par le chemin.

.bash_profile


# jEnv
export JENV_ROOT="$HOME/.jenv"
if [ -d "${JENV_ROOT}" ]; then
  export PATH="$JENV_ROOT/bin:$PATH"
  eval "$(jenv init -)"
fi

Installation du JDK

Il existe de nombreux articles installés avec brew cask, mais cette fois, je vais supprimer le programme d'installation d'Oracle et l'installer manuellement. Installez la version requise de JDK en vous référant à l'article suivant.

Faire ce qui précède enrichira votre environnement de développement Java.

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (5):
    10, x86_64:	"Java SE 10"	/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home
    9.0.4, x86_64:	"Java SE 9.0.4"	/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
    1.8.0_162, x86_64:	"Java SE 8"	/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home
    1.8.0_77, x86_64:	"Java SE 8"	/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home
    1.7.0_80, x86_64:	"Java SE 7"	/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home

Probablement pas tous, mais ça fait du bien, alors j'ai installé tout le JDK 7-10.

Créer un dossier .jenv

Créez manuellement le dossier ~ / .jenv / versions.

$ mkdir ~/.jenv
$ mkdir ~/.jenv/versions

Sinon, jenv add provoquera ln: échec de la création du lien symbolique '/ Users / {nom d'utilisateur} /. Jenv / versions / oracle64-1.7.0.80': aucune erreur de ce type de fichier ou de répertoire. https://github.com/gcuisinier/jenv/issues/175

Une fois créé, rechargez .bash_profile.

$ source ~/.bash_profile

Ajouter un environnement jEnv

Au départ, il n'y a pas d'environnement dans jEnv.

$ jenv versions
* system (set by /Users/{Nom d'utilisateur}/.jenv/version)

Ajoutez l'environnement avec la commande jenv add.

# jenv add {Java Virtual Machine(JVM)Chemin du domicile}
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home

Le chemin de JVM Home est le chemin fourni par la commande / usr / libexec / java_home -V.

Si un environnement avec la même version majeure a déjà été ajouté, l'écrasement sera confirmé, alors entrez y et c'est OK.

$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home
oracle64-1.8.0.162 added
1.8.0.162 added
There is already a 1.8 JDK managed by jenv
Do you want to override (type y to confirm)? y
1.8 added

Avec cela, l'environnement de jEnv s'est également enrichi.

$ jenv versions
* system (set by /Users/{Nom d'utilisateur}/.jenv/version)
  1.7
  1.7.0.80
  1.8
  1.8.0.162
  1.8.0.77
  10
  9.0
  9.0.4
  oracle64-1.7.0.80
  oracle64-1.8.0.162
  oracle64-1.8.0.77
  oracle64-10
  oracle64-9.0.4

Mode opératoire

Changement d'environnement Java (global)

Configurez un environnement Java global avec la commande jenv global. Java 10 vient de sortir et Kotlin ne semble pas encore le supporter, nous allons donc définir Java 9 ici.

#Configurer un environnement Java global
# jenv global {Nom de l'environnement}
$ jenv global oracle64-9.0.4

Même dans Java 9, il existe trois environnements, "9.0", "9.0.4" et "oracle64-9.0.4", mais comme le tutoriel sur le site officiel définit "oracle64 ...", c'est également le cas ici. Je n'ai pas enquêté sur ce qui est différent.

Vérifiez si l'environnement a changé. Si "*" est ajouté au début de "oracle64-9.0.4", l'environnement a été changé.

$ jenv versions
  system
  1.7
  1.7.0.80
  1.8
  1.8.0.162
  1.8.0.77
  10
  9.0
  9.0.4
  oracle64-1.7.0.80
  oracle64-1.8.0.162
  oracle64-1.8.0.77
  oracle64-10
* oracle64-9.0.4 (set by /Users/{Nom d'utilisateur}/.jenv/version)

Vérifiez également la version Java.

$ java -version
java 9.0.4
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)

Vous pouvez voir que l'environnement a changé.

(04/04/2018 23:30 postscript)

Gradle ne fonctionnait pas bien avec Java 9, j'ai donc décidé d'utiliser Java 8. https://qiita.com/uhooi/items/c9caa9a9ed6c934a789b#gradleのインストール

Changement d'environnement Java (local)

Si vous souhaitez configurer un environnement Java local (uniquement dans un dossier spécifique), vous pouvez le définir avec la commande jenv local après avoir été déplacé vers le dossier cible.

$ mkdir java7
$ cd java7
$ jenv local oracle64-1.7.0.80
$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

##Les paramètres globaux sont appliqués aux dossiers qui ne sont pas définis localement
$ cd ..
$ java -version
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)

en conclusion

L'environnement de développement Java est prêt. Vous pouvez maintenant jouer avec Android Studio et Kotlin!

Lien de référence

Recommended Posts

Comment configurer et utiliser jEnv (Mac)
Comment configurer et utiliser kapt
Comment configurer JavaED Full Edition (pléiades)
Comment configurer la vision par ordinateur pour le suivi des images et des vidéos avec TrackingJs
Comment installer Gradle et Kotlin avec SDKMAN (Mac)
Comment configurer le mappeur Android OU "Orma" (Kotlin)
Comment désinstaller Java 8 (Mac)
Comment définir nginx de Docker
Comment définir des constantes Java
Comment installer JDK8-10 (Mac)
Étapes pour configurer Jenkins sur votre Mac local, créer une tâche et réussir
Comment définir le code de caractère et le code de saut de ligne dans Eclipse
Comment définir et décrire des variables d'environnement à l'aide de Rails zsh
Comment configurer un proxy avec authentification dans Feign
Comment utiliser StringBurrer et Arrays.toString.
Comment installer JMeter pour Mac
Comment configurer Spring Boot + PostgreSQL
Comment appeler des classes et des méthodes
[Rails] Comment accélérer la composition de docker
Comment utiliser l'égalité et l'égalité (comment utiliser l'égalité)
Comment connecter Heroku et Sequel
Comment convertir LocalDate et Timestamp
Comment définir Lombok dans Eclipse
Comment utiliser des séquences \ t Escape différentes pour Mac et Windows-java
Comment définir et utiliser un profil avec une configuration basée sur des annotations dans le framework Spring
[Note] Comment redémarrer le conteneur Windows configuré avec docker-compose
Comment vérifier Java installé sur Mac
Comment utiliser OrientJS et OrientDB ensemble
Comment installer Play Framework 2.6 pour Mac
Comment installer Eclipse (Photon) sur votre Mac
Comment changer de version de Java sur Mac
Comment définir différentes versions source / cible pour le code de production et le code de test
[Java] Comment régler la date sur 00:00:00
Comment créer SquashTM et comment prendre en charge le japonais
Comment définir JAVA_HOME avec l'appassembler-maven-plugin de Maven
Comment trouver les dizaines et les unités
[Facile] Comment mettre à niveau Ruby et le bundler
Comment utiliser les méthodes substring et substr
Nécessaire pour iOS 14? Comment définir NSUserTrackingUsageDescription
Comment utiliser @Builder et @NoArgsConstructor ensemble
Comment utiliser ToolBar avec la super marge Part1 Définir les caractères et changer les couleurs
Promesse JDBC et exemple d'écriture
Comment sortir Excel et PDF avec Excella
Comment exécuter une méthode et simuler avec JUnit
Comment jouer de la voix ou de la musique en utilisant javascript
Comment utiliser le contrôle segmenté et les points à noter
[Java] (pour MacOS) Méthode de définition du chemin de classe
Comment utiliser la portée et le traitement des passes (servist)
Comment obtenir et étudier Java SE8 Gold
Comment créer une API avec GraphQL et Rails
Comment trouver le score total et le score moyen
[Rails] Comment émettre des messages de réussite et d'erreur
Comment créer des outils de parquet et fusionner des fichiers Parquet