Что вы можете сделать, это определить два профиля , по одному на каждый используемый JDK. Будет активирован каждый профиль, относительно которого используется JDK:
<profiles>
<profile>
<id>profile-for-jdk1.4</id>
<activation>
<activeByDefault>false</activeByDefault>
<jdk>1.4</jdk>
</activation>
<build>
<finalName>myBuild-jdk1.4</finalName>
</build>
</profile>
<profile>
<id>profile-for-jdk1.5</id>
<activation>
<activeByDefault>false</activeByDefault>
<jdk>1.5</jdk>
</activation>
<build>
<finalName>myBuild-jdk1.5</finalName>
</build>
</profile>
</profiles>
Затем в каждом профиле вы определяете определенный <finalName>
, который будет использоваться для именования сгенерированного файла JAR.
Таким образом, если вы создаете свое приложение с использованием JDK 1.4, сгенерированный JAR будет иметь имя myBuild-jdk1.4.jar
.
Если ваш окончательный пакет собран с использованием сборки, вы можете просто изменить блок <build>
внутри профилей для настройки подключаемого модуля сборки (например, на <finalName>
).
<Ч />
По поводу вашего комментария: Действительно, для этой процедуры потребуются две отдельные сборки на Maven, так как вам придется перекомпилировать весь проект при изменении версии JDK. Одно из соглашений Maven2 - один проект = один артефакт. Вам нужно иметь один проект с двумя артефактами.
В конце концов, одним из решений является использование Hudson для создания вашего приложения, и особенно матричная функция этого инструмента, которая позволяет вам запускать несколько сборок с различными параметрами кейс JDK.