Tenemos una aplicación de utilidad simple que lee todos los datos de zona horaria utilizados en un JRE y lo muestra todo en una tabla simple. Necesitamos usar una versión anterior del JRE (6_24) para una próxima versión del producto (debido aparentemente a otros problemas), pero también debemos incluir actualizaciones de zonas horarias más nuevas en esa versión (que de otro modo estaría incluida en, digamos, 6_29) Ya estamos empaquetando un JRE privado que se instalará, por lo que obtener las actualizaciones de zona horaria en ese JRE privado usando el TZUpdater tool no es el problema - El problema es leer/verificar qué versión del tzdata (por ejemplo, tzdata2010o, tzdata2011k) está siendo lea con la aplicación de utilidad (es decir, qué versión se está utilizando en el JRE en el que se ejecuta la aplicación). La aplicación actualmente muestra JRE versión en la barra de título, pero con las actualizaciones de zona horaria, eso ya no es suficiente para determinar qué datos de zona horaria versión está en uso.Java: encuentre la versión de tzdata en uso, independientemente de la versión de JRE
He examinado la clase TimeZone, pero parece que no proporciona esta información; ¿tal vez haya una propiedad del sistema que contenga esta información? La herramienta TZUpdater sabe qué versión se está usando, por lo que debe estar disponible en alguna parte. No puedo imaginar que determinen analíticamente qué versión está en uso en la herramienta de actualización ... ¿Alguien sabe dónde ubicar esta información?
Sí, esa es la carpeta que es reemplazado por TZUpdater, y me di cuenta (después de la publicación de la cuestión) que ZoneInfoMappings contiene esa línea, pero Notepad ++ muestra algunos otros datos/caracteres a su alrededor en esa primera línea que me hizo pensar que se necesitarían algunas cosas de hack para llegar a ella ... Así que espero que haya una mejor manera de llegar desde el JRE o alguien podría publicar el código para leer ese archivo/línea ... – johnny
Respuesta actualizada. –
usó el código aquí como un ejemplo para analizar esto: http://www.docjar.com/html/api/sun/util/calendar/ZoneInfoFile.java.html – johnny