Как установить только pom с Maven install-plugin с минимальной конфигурацией
Я использую установочный плагин Maven (2.2.1) (2.5.2) для установки сторонних зависимостей, недоступных в репозитории.
Когда в зависимости есть и jar, и pom, install-plugin считывает файл pom и устанавливает пакет, groupId, artifactId и версию, поэтому мне не нужно их указывать:
<execution>
<id>1</id>
<phase>validate</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<file>si/odm/jrules-engine/8.5.1/jrules-engine-8.5.1.jar</file>
<pomFile>si/odm/jrules-engine/8.5.1/jrules-engine-8.5.1.pom</pomFile>
</configuration>
</execution>
Однако, когда у зависимости есть только файл pom, это заставляет меня указать упаковку, идентификатор группы и т. Д. Вручную:
<execution>
<id>2</id>
<phase>validate</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<packaging>pom</packaging>
<groupId>odm</groupId>
<artifactId>jrules-otherthing</artifactId>
<version>8.5.1</version>
<file>si/odm/jrules-otherthing/8.5.1/jrules-otherthing-8.5.1.pom</file>
</configuration>
</execution>
Можно ли настроить install-plugin для чтения файла pom, когда он является единственным устанавливаемым файлом?
Возможность сделать это сделает конфигурацию намного короче и более удобочитаемой.
Я попытался указать файл POM в <pomFile>
элемент без <file>
элемент, но install-plugin настаивает на том, что я должен иметь <file>
, Я предполагаю, что в настоящее время это невозможно, но я хотел бы спросить здесь, если я что-то пропустил.
1 ответ
Чтобы следовать комментариям других, вот как я использовал maven-install-plugin для установки только pom в свое репо с помощью Maven 3.6.1:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>3.0.0-M1</version>
<configuration>
<groupId>com.microservice</groupId>
<artifactId>parent</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<file>pom.xml</file>
</configuration>
<executions>
<execution>
<id>install-pom</id>
<goals>
<goal>install-file</goal>
</goals>
<phase>install</phase>
</execution>
</executions>
</plugin>
</plugins>