Question
Y at-il Ruby Version Manager de l'équivalent pour le monde Java?
Je cherche outil qui me permettent de facilement télécharger et installer un nouveau JVMs et basculer entre eux. Par exemple:
jvm install <version>
jvm list //will list installed JVMs on my system
jvm use jdk1.6 //will switch my env to jdk 1.6 version, etc.
La solution
Si vous utilisez Ubuntu, vous pouvez spécifier la machine virtuelle Java que vous souhaitez utiliser via la commande (ne fonctionne que pour machine virtuelle Java installée de apt-get ou aptitude)
sudo update-alternatives --config java
ou en définissant JAVA_HOME. Voici un bon tutoriel:
Autres conseils
http://www.jenv.be/ permettra ce type de contrôle.
Avec JVMs, si vous avez besoin de basculer entre eux, vous avez juste besoin d'utiliser un fichier batch (ou script Powershell) pour gérer le classpath et le chemin JVM. Vous n'avez pas besoin de compter sur le chemin de JVM par défaut du système et au lieu simplement permettre à votre application pour pointer vers ce que vous aimez JVM en changeant classpath et l'environnement de chemin machine virtuelle Java dans le shell qui exécute la machine virtuelle Java.
Pour les programmes qui obtiennent Java emplacement à partir du Registre, en théorie, vous pouvez utiliser un script batch pour mettre à jour cela aussi.
A cet égard, Java est beaucoup plus facile que "gestionnaire version Ruby".
SDKMAN! est un outil similaire pour l'écosystème Java. Prise en charge différentes versions Java, Scala, Clojure, Kotlin, routinier, et construire des outils comme Maven et Gradle.
Fonctionne sur Mac et Linux, avec quelques mentions d'aide pour Windows selon la façon dont vous êtes dur prêt à essayer:)
L'astuce consiste à utiliser update-java-alternatives (du paquet java-common). La commande update-alternatives ne sera pas mise à jour chacun des liens symboliques pour différents executables java / bin, qui est pourquoi update-java-alternatives mieux.
Donc, pour aller pour OpenJDK 6 à 7, l'utilisation update-java-alternatives -l
pour obtenir une liste des alternatives Java puis utilisé sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
pour changer le JDK.
CAVEAT: La commande ci-dessus pourrait jeter les erreurs suivantes,
update-alternatives: error: no alternatives for mozilla-javaplugin.so.
update-java-alternatives: plugin alternative does not exist:
/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so
En effet, le plug-in OpenJDK est pas installé par défaut. Pour résoudre exécuter sudo apt-get install icedtea-7-plugin
et update-java-alternatives réexécution.