Compilando con Ant en Leopard.

En el proyecto en el que trabajo, usamos Ant desde IntelliJ IDEA para compilar y desplegar el mismo.

Necesito ejecutar unos tests con TestNG desde Ant, pero no desde IDEA, sino desde consola, y al querer ejecutar los tests salió una excepción:

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file

Esta es debido a que se está usando un JDK para ejecutar la aplicación que es una versión anterior al JDK con que se compiló la misma.

Verificando en algunos foros, me doy cuenta que Ant usa el JDK que esta referenciado por la variable de entorno JAVA_HOME, y como en OsX, se puede definir el JDK a usar por defecto de otra manera, entonces yo no tenía definida la variable JAVA_HOME.

Para definir que quiero usar el JDK 1.6, tengo que editar el archivo .profile del folder Home de mi cuenta de usuario, claro que primero tengo que habilitar la característica para ver todos los archivos en Finder (o usar mUCommander si prefieren).

Para habilitar el ver todos los archivos en el Finder:
1. En la consola, ejecutar: defaults write com.apple.Finder AppleShowAllFiles YES
2. Reiniciar el Finder (alt + click derecho en el ícono del Finder y “Forzar reinicio”).

Para volver a la normalidad, los mismos pasos, pero se cambia el “YES” por “NO”

Ahora hay que editar el archivo “.profile” que se encuentra en la carpeta “home” de la cuenta de usuario (dicha carpeta tiene el mismo nombre del a cuenta de usuario) y añadir esta línea:

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home

Además y puse en este archivo la ruta a ANT:

export ANT_HOME=/Volumes/Work/externalProjects/apache-ant-1.7.1
export PATH=$ANT_HOME/bin:$PATH

Para verificar que se usa el JDK correcto, traté de compilar el proyecto, pero me salió una excepción de memoria insuficiente:

java.lang.OutOfMemoryError: Java heap space

Entonces, tenemos que aumentar el tamaño de la memoria que puede usar Ant para compilar el proyecto, ésto se puede hacer de varias formas, pero elegí el usar la variable de entorno ANT_OPS, es decir añadí esto al archivo “.profile”:

export ANT_OPTS=-Xmx256m

Y listo, con eso ya solucioné mis pequeños inconvenientes al compilar con Ant en Leopard.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s