lunes, 18 de julio de 2016

Cambiar ruta por defecto de la carpeta ext del jre en Windows


Hola amigos blogueros, hoy me pidieron que ayude a resolver un problema y leyendo un poco la solución no fue tan complicada como se veía.

Antecedente: La empresa usa un software desarrollado en java por lo tanto en cada pc del cliente es necesario instalar el jre para que "corra" el programa.

Dentro de la carpeta de instalación del jre existe un directorio (ext) donde se deben de ubicar todas las "extensiones" que son usadas por la aplicación para que esta funcione, en palabras simples: Es el directorio donde se deben de poner todos los .jar que usa el sistema para que funcione correctamente.

El problema con el directorio ext es que siempre depende de la versión del jre que se instale en Windows para saber la ruta, por ejemplo si se instala la versión 8 la ruta es:

C:\Program Files\Java\jre8\lib\ext 

Si es la versión 7 de 32 bits corriendo en un Windows de 64 bits, la ruta es:

C:\Program Files (x86)\Java\jre7\lib\ext 
 
Hasta el momento no hay complicación porque básicamente se copia dentro de ese directorio todos los .jre y funciona, pero:

  •  ¿Que sucede si necesitan agregar una extensión (archivo .jar) a ese directorio?  
  • ¿Cómo identifico el directorio automáticamente para que mediante un script copie los nuevos .jar?

Este post puede complementarse con uno que escribí hace algún tiempo sobre como actualizar un archivo .jar usando rsync: http://dannyobandoyumbla.blogspot.com/2013/02/rsync-en-linux-y-robocopy-en-windows.html

Leyendo la documentación del jre me di cuenta que es posible cambiar la ruta por defecto del ext mediante comandos, sabiendo esto fue tan simple como adicionar un parámetro en la línea de ejecución del programa.
 
El comando que permite cambiar la ruta por defecto es:
 
-Djava.ext.dirs="C:\Miaplicacion\nuevarutadecarpetaext"
 
El comando completo para que corra el programa es: 
 
javaw -Djava.ext.dirs="C:\Miaplicacion\nuevarutadecarpetaext" -jar Programa.jar 
 
Nota: El jre por defecto en la instalación copia unos archivos dentro de la carpeta ext, esto archivos también son necesarios ubicarlos en la nueva ruta del ext. En mi caso particular si no estaban esos archivos no funcionaba la aplicación. 
 
Si desean algo más información pueden visitar la documentación del jre en: 
 
 
Espero que les sea de utilidad.

Cualquier comentario lo hacen por esta vía o me envían un tweet a: @Danny_Obando

No se olviden de pasar por mi página en facebook y darle like. www.facebook.com/deoyecuador

¡ Hasta mi próximo post !

No hay comentarios:

Publicar un comentario