Maven: Compilando con un JDK diferente

14/04/2009

Maven
En el archivo settings.xml (bien en el del usuario o en el global de maven) crearemos un perfil que defina unas variables de entorno con el path de los diferentes compiladores que utilizamos:

<profiles>
<profile>
<id>dev</id>
<properties>
<JAVA_1_6_HOME>C:\software\jdk1.6</JAVA_1_6_HOME>
<JAVA_1_5_HOME>C:\software\jdk1.5</JAVA_1_5_HOME>
<JAVA_1_4_HOME>C:\software\jdk1.4</JAVA_1_4_HOME>
<JAVA_1_3_HOME>C:\software\jdk1.3</JAVA_1_3_HOME>
<JAVA_1_2_HOME>C:\software\jdk1.2</JAVA_1_2_HOME>
</properties>
</profile>
</profiles>

<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>

Ahora, en el pom.xml del proyecto, configuraremos el plugin de compilación para que utilice un compilador específico:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.4</source>
<target>1.4</target>
<fork>true</fork>
<executable>${JAVA_1_4_HOME}/bin/javac</executable>
</configuration>
</plugin>

Nota: La propiedad fork es necesaria porque en caso contrario maven utiliza el mismo proceso con el que se arranca el propio plugin y por tanto la misma JDK, independientemente de la que hayamos indicado en la configuración.

Algunos enlaces de interés

Compiling Sources Using A Different JDK

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

A %d blogueros les gusta esto: