Tengo un módulo maven que necesito usar en el cliente J2ME y en el servidor EJB. En el cliente, necesito compilarlo para el objetivo 1.1 y en el servidor para el objetivo 1.6.Cómo configurar Maven para compilar dos versiones de un artefacto, cada una para un objetivo diferente JRE
También necesito implementar la versión 1.6 en un repositorio de Nexus, por lo que los miembros que trabajan en el proyecto de servidor pueden incluir esta dependencia sin necesidad de descargar el código fuente.
He leído en http://java.dzone.com/articles/maven-profile-best-practices que usar perfiles no es la mejor manera de hacerlo, pero el autor no dijo cuál es la mejor manera.
Aquí es mi pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>proj-parent</artifactId>
<groupId>br.com.comp.proj</groupId>
<version>0.0.4-SNAPSHOT</version>
</parent>
<artifactId>proj-cryptolib</artifactId>
<name>proj - Cryto Lib</name>
<dependencies>
<dependency>
<groupId>br.com.comp</groupId>
<artifactId>comp-proj-mobile-messages</artifactId>
<version>0.0.2-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.3</source>
<target>1.1</target>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
</project>
¿Por qué necesita el objetivo 1.6 para el servidor? –
@PhilippeMarschall: No lo sé. Estoy trabajando en el cliente, los otros miembros que están trabajando en el servidor dijeron que realmente lo necesitan. –
Eso realmente no tiene sentido. El código compilado con el objetivo 1.1 funciona bien en una VM Java 6. –