Maison  >  Article  >  Java  >  Commutation flexible et gestion de plusieurs versions Java

Commutation flexible et gestion de plusieurs versions Java

angryTom
angryTomavant
2019-11-28 16:41:492938parcourir

Avant-propos : Au cours des deux dernières années, la version Java a été fréquemment mise à jour, et j'ai l'impression de maîtriser Java8. En écrivant cet article, j'ai entendu l'actualité de java14, que ce soit pour essayer de nouvelles fonctionnalités (. l'utilisation de la fonction super puissante de Collectors.teing en Java12) ou en raison du projet. Pour les besoins de mise à niveau/compatibilité, nous pouvons tous être confrontés à la situation de gérer plusieurs versions de Java.

Commutation flexible et gestion de plusieurs versions Java

De plus, Oracle a modifié le contrat d'utilisation depuis Java11, et toute utilisation commerciale sera facturée. En écrivant cet article, j'ai appris que "Microsoft a annoncé qu'il rejoindrait OpenJDK". Si vous ne pouvez pas le battre, choisissez OpenJDK. Juste G et comprenez-le comme une histoire

(vidéo recommandée : tutoriel vidéo Java)

La configuration d'une seule variable d'environnement Java en elle-même n'a aucun contenu technique, mais lorsque plusieurs versions de Java doivent être gérées, configurer à plusieurs reprises des variables d'environnement est évidemment très ennuyeux. Selon la méthode de configuration traditionnelle, nous ne pouvons pas changer de version Java de manière flexible

Comment gérer et utiliser facilement plusieurs versions de Java ?

Gestion Java multi-versions

Nous ne sommes évidemment pas les premiers à être confrontés à ce dilemme. Je connais trois solutions existantes :

.

gir Jabba

gi jenv

gi sdkman

Cet article explique principalement comment utiliser

sdkman pour briser les difficultés auxquelles nous sommes confrontés et nous aider configurer de manière flexible Introduction à l'utilisation de Java

sdkman

SDKMAN est un outil permettant de gérer plusieurs kits de développement logiciel (Java, Groovy, Scala, Kotlin) sur la plupart des systèmes basés sur Unix et Ceylan, Ant, Gradle, etc.).

Il fournit une interface de ligne de commande (CLI) et une API pratiques pour installer, changer, supprimer et répertorier les candidats. Cet article explique principalement l'utilisation de sdkman en gérant Java

Installation de sdkman

Il est très simple d'installer sdkman sur une plateforme de type Unix. Il peut être installé avec succès sur Mac OSX, Linux, WLS, Cygwin, Solaris et FreeBSD, et prend également en charge les shells Bash et ZSH.

Ouvrez simplement un nouveau terminal et entrez :

$ curl -s "https://get.sdkman.io" | bash

Suivez les instructions correspondantes et continuez à entrer après avoir terminé l'opération correspondante :

$ source "$HOME/.sdkman/bin/sdkman-init.sh"

Ici, nous pouvons vérifier la version installée du sdk est :

$ sdk version
sdk version

Commutation flexible et gestion de plusieurs versions Java

La marque encadrée rouge dans l'image ci-dessus montre ma version actuelle de sdkman Chaque fois que j'exécute la commande sdk version, elle vérifiera s'il existe un. nouvelle version. Si vous souhaitez mettre à jour, entrez y

Certaines versions du système n'incluent pas le zip et le décompression. Si vous rencontrez des erreurs associées lors de l'installation, vous pouvez entrer la commande suivante pour installer le zip et décompresser

$ sudo apt-get install zip unzip
.

Installer à partir de ce qui précède Comme le montre la commande, le chemin d'installation par défaut de sdkman se trouve sous

$HOME/.sdkman Nous pouvons également personnaliser le chemin d'installation en spécifiant la valeur de la variable SDKMAN_DIR : <.>

$ export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io" | bash
L'installation de sdkman est par ici, voyons comment l'utiliser

Tutoriel sdkman

Pour apprendre une nouvelle chose du ligne de commande, bien sûr, vérifiez son aide Commande, entrez :

$ sdkman help
sdk help[object Object]

J'ai l'impression qu'après avoir distingué le contenu par couleur dans l'image ci-dessus, les instructions d'utilisation de sdkman sont terminées. Suivons l'image ci-dessus pour expliquer le. tutoriel d'utilisation en détail

liste sdk


Entrez d'abord :

$ sdk list
sdk list[object Object]

La marque verte représente tous les candidats disponibles intégrés par sdkman By. en appuyant sur le bouton "Entrée", vous verrez plus Candidat disponible

Nous précisons le candidat, entrez :

$ sdk list java
sdk list java[object Object]

De l'image ci-dessus, vous pouvez également voir toutes les versions disponibles de Java comme identifiant et statut. J'ai installé Java 12 et 11

Avec ces informations comme base, nous pouvons installer n'importe quel package de développement logiciel intégré à sdkman, en continuant à prendre Java comme exemple

sdk install


En regardant le résultat de la commande sdkman help, à l'aide de la commande install, nous installons une autre version Java 13.0.1.j9

Commutation flexible et gestion de plusieurs versions JavaComme vous pouvez le voir sur l'image ci-dessus, le contenu marqué en vert est la valeur de version dans le résultat de la commande de liste, mais l'erreur n'est pas disponible. Entrez le numéro d'identification pour télécharger normalement. à noter ici

Une fois l'installation terminée, l'état programmera l'état installé

sdk actuel


Lors de l'installation de plusieurs versions de java, nous entrons la commande suivante pour obtenir la version utilisant actuellement le candidat

$ sdk current java
sdk current java

Commutation flexible et gestion de plusieurs versions Java

utilisation du SDK


Comprendre l'actuel version Si nous voulons passer à une autre version, nous pouvons saisir :

$ sdk use java 12.0.2.j9-adpt

Remarque⚠️ : Idem ici Est la valeur de l'identifiant spécifié

Commutation flexible et gestion de plusieurs versions Java

sdk default

如果我们想指定某个版本为默认版本,可以输入:

$ sdk default java jdk1.8.0_162.jdk

注意⚠️: 这里同样是指定的 indentifier 的值

Commutation flexible et gestion de plusieurs versions Java

sdk uninstall

当我们想卸载某个版本可以输入:

$ sdk uninstall java 12.0.2.j9-adpt

注意⚠️: 这里同样是指定的 indentifier 的值

sdk upgrade

如果我们想升级某个 candidate,可以输入:

$ sdk upgrade java
sdk flush

使用 sdkman 时间变长也会慢慢产生很多缓存内容,我们可以输入

清理广播消息:

$ sdk flush broadcast

清理下载的 sdk 二进制文件(长时间使用后清理,可以节省出很多空间):

$ sdk flush archives

清理临时文件内容:

$ sdk flush temp

到这里 sdkman 的基本使用就已经介绍完了,其实这些命令都不用急,想不起来的时候执行 sdk help 来临时查看一下就好

sdkman 卸载

如果我们不喜欢 sdkman 了,我们也可以轻松的卸载掉它:

$ tar zcvf ~/sdkman-backup_$(date +%F-%kh%M).tar.gz -C ~/ .sdkman
$ rm -rf ~/.sdkman

最后打开你的 .bashrc、.bash_profile 和/或者 .profile,找到并删除下面这几行。

#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
[[ -s "/home/dudette/.sdkman/bin/sdkman-init.sh" ]] && source "/home/dudette/.sdkman/bin/sdkman-init.sh"

我用的 zshrc,找到 .zshrc 文件删除掉上面内容即可

到这里基于 Unix 系统的,有关 sdkman 的安装,使用及下载都已经介绍完了,可以上手试一试了

本文来自php中文网,java教程栏目,欢迎学习!  

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer