MalformedInputException usando commons-configuration

Una aplicación JEE desarrollada sobre Windows presenta problemas al instalarse sobre el mismo servidor de aplicación pero corriendo sobre Linux. El error se encuentra en la lectura de un archivo de configuraciones: cl.miro.comun.ConfigException: Error al obtener el archivo de configuracion: org.apache.commons.configuration.ConfigurationException: sun.io.MalformedInputException…

Causa

Para la lectura del archivo mencionado, se utilizaron 2 librerías:

  • commons-configuration 1.3.jar
  • commons-lang 2.1.jar.

El problema se debe a que la versión 1.3 de commons-configuration utiliza explicitamente la codificación ISO-8859-1.

Como dato adicional para verificar si se trata de este problema o no, la codificación en uso en Unix/Linux se puede obtener a través de las variables de ambiente LANG o LC_ALL.

Solución

Se reemplazó la librería commons-configuration por una versión más actual, donde no se encuentra en duro la codificación ISO-8859-1, sólo se utiliza por defecto en caso de no existir configuración alguna a este respecto.