Ich habe ein Maven-Modul, das ich im J2ME-Client und im EJB-Server verwenden muss. Im Client muss ich es für Ziel 1.1 und im Server für Ziel 1.6 kompilieren.So konfigurieren Sie Maven, um zwei Versionen eines Artefakts zu erstellen, jedes für ein anderes Ziel JRE
Ich muss auch die Version 1.6 in einem Nexus-Repository bereitstellen, damit die Mitglieder, die an dem Serverprojekt arbeiten, diese Abhängigkeit enthalten können, ohne den Quellcode herunterladen zu müssen.
Ich habe unter http://java.dzone.com/articles/maven-profile-best-practices gelesen, dass die Verwendung von Profilen ist nicht der beste Weg, dies zu tun, aber der Autor hat nicht gesagt, was der beste Weg ist.
Hier ist meine 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>
Warum benötigen Sie Ziel 1.6 für den Server? –
@PhilippeMarschall: Ich weiß es nicht. Ich arbeite an dem Client, die anderen Mitglieder, die auf dem Server arbeiten, sagten, dass sie es wirklich brauchen. –
Das macht keinen Sinn. Code, der mit Target 1.1 kompiliert wurde, funktioniert in einer Java 6-VM einwandfrei. –