Сборка модуля с разными версиями библиотек в Maven - PullRequest
0 голосов
/ 01 февраля 2012

У меня есть модуль Netbeans (Module.jar) с множеством зависимостей, объявленных на его pom.xml:

<groupId>com.company</groupId>
<artifactId>module</artifactId>
<packaging>nbm</packaging>
...
<dependency>
    <groupId>org.netbeans.api</groupId>
    <artifactId>org-netbeans-modules-editor-lib</artifactId>
    <version>${netbeans.version}</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.netbeans.api</groupId>
    <artifactId>org-netbeans-modules-editor-lib2</artifactId>
    <version>${netbeans.version}</version>
</dependency>
...
<properties>
    <netbeans.version>RELEASE701</netbeans.version>
</properties>

Как видите, версия объявлена ​​как переменная netbeans.version,

Теперь у меня есть два приложения на платформе Netbeans, которые используют этот модуль: ApplicationA использует платформу NB версии 6.9.1 и ApplicationB использует платформу NB 7.0.1.Оба будут объявлять Module как зависимость:

<dependency>
    <groupId>com.company</groupId>
    <artifactId>module</artifactId>
    <version>3.0.10</version>
</dependency>

Module прекрасно компилируется с обеими версиями платформы, но будет работать правильно, только если она была скомпилирована с той же версией библиотек текущего приложенияиспользует (то есть Module будет правильно работать только на ApplicationA, если скомпилировано с версией 6.9.1, и будет правильно работать только на ApplicationB, если скомпилировано с версией 7.0.1).

Как / гдея могу определить переменную netbeans.version, поэтому Module будет компилироваться с верной версией библиотеки в соответствии с приложением, которое будет ее использовать?

1 Ответ

1 голос
/ 01 февраля 2012

Вы должны включить зависимости netbeans непосредственно в poms ApplicationA и ApplicationB с правильными версиями. Таким образом, вы получите точную версию, необходимую для этого приложения.

...