Frage

Gibt es Ruby Version Manager Äquivalent für die Java -Welt?

Ich suche Tool, mit dem ich ein neues JVMS herunterladen und installieren und zwischen ihnen wechseln kann. Zum Beispiel:

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.
War es hilfreich?

Lösung

Wenn Sie Ubuntu verwenden, können Sie angeben, welche JVM Sie über den Befehl verwenden möchten (funktioniert nur für JVM, die von APT-Get oder Aptitude installiert wurden).

sudo update-alternatives --config java

Oder durch Einstellen von Java_Home. Hier ist ein gutes Tutorial:

http://vietpad.sourceforge.net/javaonlinux.html

Andere Tipps

http://www.jenv.be/ Ermöglicht diese Art von Kontrolle.

Wenn Sie mit JVMS zwischen ihnen wechseln müssen, müssen Sie nur eine Batch -Datei (oder ein PowerShell -Skript) verwenden, um den ClassPath und den JVM -Pfad zu verwalten. Sie müssen sich nicht auf den System -Standard -JVM -Pfad verlassen und zulassen, dass Ihre App nur auf das JVM verweist, den Sie mögen, indem Sie die Umgebung des ClassPath- und JVM -Pfades in der Shell, in der die JVM ausgeführt wird, ändern.

Für Programme, die den Java -Standort aus der Registrierung erhalten, können Sie theoretisch auch ein Batch -Skript verwenden, um dies zu aktualisieren.

In dieser Hinsicht ist Java viel einfacher als "Ruby Version Manager".

Aus Vollständigkeit gibt es zwei weitere - Jabba (von dem ich der Autor bin; geschrieben in Go und entworfen nach nvm/gvm/rvm) und Jenv (Nicht mit Jenv.be zu verwechseln; unterstützt die Installation von Oracle nicht, kann aber von einem benutzerdefinierten Reißverschluss installiert werden).

SDKMAN! ist ein ähnliches Werkzeug für das Java -Ökosystem. Unterstützt verschiedene Java -Versionen, Scala, Clojure, Kotlin, Groovy und Build -Werkzeuge wie Maven und Gradle.

Funktioniert auf Mac und Linux, mit einigen Erwähnungen der Unterstützung für Windows, je nachdem, wie hart Sie bereit sind, es zu versuchen :)

Der Trick besteht darin, Update-Java-Alternative (aus dem Java-Common-Paket) zu verwenden. Der Befehl Update-Alternative aktualisiert nicht jede der symbolischen Links für verschiedene Java /bin-Executables, weshalb Update-Java-Alternative besser sind.

Um für OpenJDK 6 bis 7 zu gehen, verwenden Sie also update-java-alternatives -l um eine Liste von Java -Alternativen zu erhalten und dann verwendet sudo update-java-alternatives -s java-1.7.0-openjdk-amd64 Um den JDK zu wechseln.

Einschränkung: Der obige Befehl kann die folgenden Fehler werfen.

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

Dies liegt daran, dass das OpenJDK -Plugin standardmäßig nicht installiert ist. Run reparieren sudo apt-get install icedtea-7-plugin und Wiederholungs-Update-Java-Alternative erneut.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top