У меня есть проект A, который зависит от проекта I, который содержит интерфейсы, реализованные третьим проектом, B.
Я хочу, чтобы проект B динамически подключался к pom.xml проекта A во время компиляции, безизменение pom.xml A и предоставление свойств Maven из командной строки (пример
mvn package -Dmodule.artifactId=[B_ARTIFACTID] -Dmodule.version=[B_VERSION]
), где B_ARTIFACTID
и B_VERSION
относится к проекту B.
Цель состоит в том, чтобы пометитьверсия проекта A и через интерфейсы, содержащиеся в I, использовать реализацию, содержащуюся в четвертом проекте C, который реализует I с той же версией проекта A, просто меняя командную строку, которая его строит.
Iзнаю, что это возможно, используя свойства профиля, но в то время, когда проект A будет помечен, он не разрешит зависимость, как это исправить без использования зависимости по умолчанию?
B и C зависит от проекта, определяемого:
<groupId>project</groupId>
<artifactId>I</artifactId>
<version>0.1.0.0</version>
Проект A
<dependencies>
<dependency>
<groupId>project</groupId>
<artifactId>I</artifactId>
<version>0.1.0.0</version>
<dependency>
<dependency>
<groupId>project</groupId>
<artifactId>???</artifactId>
<version>???</version>
<scope>runtime</scope>
<dependency>
РЕДАКТИРОВАТЬ: я сказал, что я не хочу делать это со свойствами, потому что он не будет разрешаться в зависимости отв то время, когда я отмечаю проект A.