2010-03-17 14 views
19

¿Hay Ruby Version Manager equivalente para el mundo de Java?Administrador de versiones de JVM

Estoy buscando una herramienta que me permita descargar e instalar fácilmente una nueva JVM y cambiar entre ellas. Por ejemplo:

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. 

Respuesta

5

Si utiliza Ubuntu puede especificar que JVM se desea utilizar a través de comandos (sólo funciona para JVM instalado desde apt-get o aptitude)

sudo update-alternatives --config java

o estableciendo JAVA_HOME. Aquí es un buen tutorial:

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

+1

¿Alguien me puede describir por qué esta respuesta está siendo downvoted? –

+0

'update-java-alternatives' es una mejor opción. –

+0

El mundo de Java es multiplataforma; una herramienta que se dirige solo a Debian Linux, excluye a la mayoría de la comunidad Java. No es una respuesta efectiva a la pregunta IMO. – ctpenrose

3

No. sin volver a su gestor de paquetes del sistema operativo (sí, estoy pensando en apt-get), no hay tal cosa en el mundo Java.

+0

Se podría argumentar que su monitor de paquete de sistema operativo ya es la mejor herramienta para este trabajo. –

5

Con las JVM, si necesita cambiar de una a otra, solo tiene que utilizar un archivo de proceso por lotes (o un script de PowerShell) para gestionar la ruta de clases y la ruta JVM. No necesita confiar en la ruta JVM predeterminada del sistema y, en su lugar, simplemente permita que su aplicación apunte a la JVM que desee cambiando el classpath y el entorno de ruta JVM en el shell que ejecuta la JVM.

Para los programas que obtienen la ubicación de Java del Registro, en teoría podría usar un script por lotes para actualizar eso también.

En este sentido, Java es mucho más fácil que "Ruby version manager".

0

El truco es usar update-java-alternatives (del paquete java-common). El comando update-alternatives no actualizará cada uno de los enlaces simbólicos para varios ejecutables java/bin, por lo que update-java-alternatives es mejor.

Para ir a OpenJDK 6 a 7, use update-java-alternatives -l para obtener una lista de alternativas de Java y luego use sudo update-java-alternatives -s java-1.7.0-openjdk-amd64 para cambiar el JDK.

advertencia: El comando anterior podría lanzar a los siguientes errores,

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 

Esto se debe a que el plugin OpenJDK no se instala por defecto. Para arreglar ejecute sudo apt-get install icedtea-7-plugin y vuelva a ejecutar update-java-alternatives.

1

En aras de la exhaustividad, hay dos más - jabba (de los cuales yo soy el autor, escrito en Go y diseñado después de NVM/gvm/RVM) y jenv (no confundir con jenv.be; no lo hace admite la instalación desde Oracle pero puede instalar desde un zip personalizado).