2010-03-17 17 views
19

Esiste l'equivalente Ruby Version Manager per il mondo Java?JVM version manager

Sto cercando uno strumento che mi consenta di scaricare e installare facilmente una nuova JVM e di passare da una all'altra. Per esempio:

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. 

risposta

5

Se si utilizza Ubuntu è possibile specificare quali JVM che si desidera utilizzare tramite il comando (funziona solo per JVM installato da apt-get o aptitude)

sudo update-alternatives --config java

o impostando JAVA_HOME. Ecco buon tutorial:

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

+1

Qualcuno può descrivermi, per favore, perché questa risposta viene sottoposta a downvoted? –

+0

'update-java-alternatives' è una scelta migliore. –

+0

Il mondo Java è multipiattaforma; uno strumento che si rivolge solo a Debian Linux, esclude la maggioranza della comunità Java. Non è una risposta efficace alla domanda IMO. – ctpenrose

3

N. senza ritornare al vostro gestore dei pacchetti del sistema operativo (sì, sto pensando di apt-get), non v'è nulla di simile nel mondo Java.

+0

Si potrebbe obiettare che il monitor del pacchetto del sistema operativo è già lo strumento migliore per questo lavoro. –

5

Con JVM, se è necessario passare da uno di questi è necessario utilizzare un file batch (o uno script PowerShell) per gestire il percorso di classe e il percorso JVM. Non è necessario fare affidamento sul percorso JVM predefinito del sistema e invece consentire alla propria app di puntare a qualsiasi JVM che si desidera modificando l'ambiente del percorso classi e JVM nella shell che esegue la JVM.

Per i programmi che ottengono la posizione Java dal Registro, in teoria è possibile utilizzare uno script batch per aggiornarlo anche.

A questo proposito, Java è molto più semplice di "Ruby version manager".

0

Il trucco è utilizzare update-java-alternative (dal pacchetto java-common). Il comando update-alternatives non aggiornerà ognuno dei link simbolici per vari eseguibili java/bin, motivo per cui update-java-alternative è migliore.

Quindi, per ottenere OpenJDK da 6 a 7, utilizzare update-java-alternatives -l per ottenere un elenco di alternative Java e quindi utilizzare sudo update-java-alternatives -s java-1.7.0-openjdk-amd64 per passare a JDK.

avvertimento: Il comando precedente potrebbe gettare i seguenti errori,

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 

Questo perché il plugin OpenJDK non è installato per impostazione predefinita. Per correggere eseguire sudo apt-get install icedtea-7-plugin e rieseguire update-java-alternative.

1

Per ragioni di completezza, ci sono altri due - jabba (di cui io sono l'autore, scritto in Go e progettato dopo NVM/GVM/RVM) e jenv (da non confondere con jenv.be; non lo fa supporta l'installazione da oracle ma può essere installata da un zip personalizzato).