El colocar aseveraciones ("assertions") en código es sólo el primer paso para que éstas sean interpretadas en la ejecución de programas, a continuación se describen los pasos que deben tomarse al compilar y ejecutarse programas que incluyen aseveraciones.
Como pre-requisito se debe emplear un JDK en su versión 1.4, lo anterior ya que todo JDK previo a esta versión no incluye apoyo para aseveraciones ("assertions").
Además de emplear un JDK 1.4, es necesario que al momento de realizar la compilación de clases se proporcione un flag de compilación para indicar que se trata de código diseñado para las funcionalidades de un JDK 1.4 y por ende de "Assertions".
$ javac -source 1.4 Sumatoria.java |
El indicar este flag al compilar código que incluye aseveraciones es obligatorio para garantizar compatibilidad con versiones anteriores de Java. Puesto que el uso de aseveraciones es un concepto antiguo en lenguajes de programación, es factible que diseños antiguos de Java incluyan en su estructura aseveraciones y con esto empleen la ya palabra reservada assert
.
Vale mencionar que Sun Microsystems ha indicado que el uso de éste flag es temporal mientras se estabiliza el uso de aseveraciones y es actualizado el código escrito en versiones anteriores.
Para que el código compilado con aseveraciones sea evaluado con estas estructuras es necesario emplear otro flag al momento de ejecutar programas:
$ javac -ea Sumatoria |
La declaración anterior activa cualquier aseveración que se encuentre presente en el código de la Clase Sumatoria
; aunque el uso de este flag puede parecer innecesario, su uso se debe a que en diversas ocasiones el uso de aseveraciones ("assertions") es empleado únicamente como mecanismo de calidad en etapas de desarrollo y en versiones de producción resultan innecesarias estas mismas aseveraciones. Es por esto que a través de este flag se ofrece la facilidad de activar aseveraciones que generalmente incrementan el tiempo de ejecución en un programa.
Algunas variaciones para habilitar aseveraciones a nivel de librería ("package") son descritos a continuación :
$ javac -ea:com.osmosislatina.matematicas Sumatoria $ javac -ea:com.osmosislatina.matematicas -da:com.osmosislatina.matematicas.impresion Sumatoria |
La primer declaración ejecutaría la Clase Sumatoria
con aseveraciones activadas únicamente en la librería com.osmosislatina.matematicas
.
La segunda declaración ejecutaría la Clase Sumatoria
con aseveraciones activadas en la librería com.osmosislatina.matematicas
,sin embargo, desactivando todas aquellas incluidas en la librería com.osmosislatina.matematicas.impresion
.