Mam moduł maven, który muszę użyć w kliencie J2ME i serwerze EJB. W kliencie muszę skompilować go dla celu 1.1 i na serwerze dla celu 1.6.Jak skonfigurować Mavena do budowania dwóch wersji artefaktu, każdy dla innego celu JRE
Muszę również wdrożyć wersję 1.6 do repozytorium Nexusa, aby członkowie pracujący nad projektem serwera mogli uwzględnić tę zależność bez konieczności pobierania kodu źródłowego.
Przeczytałem na http://java.dzone.com/articles/maven-profile-best-practices, że używanie profili nie jest najlepszym sposobem na zrobienie tego, ale autor nie powiedział, jaki jest najlepszy sposób.
Oto moja 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>
Dlaczego potrzebujesz celu 1.6 dla serwera? –
@PhilippeMarschall: Nie wiem. Pracuję nad klientem, inni członkowie, którzy pracują na serwerze, mówią, że naprawdę tego potrzebują. –
To naprawdę nie ma sensu. Kod skompilowany z celem 1.1 działa dobrze w maszynie wirtualnej Java 6. –