У меня есть модуль 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
будет компилироваться с верной версией библиотеки в соответствии с приложением, которое будет ее использовать?