Как установить только 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>
Другие вопросы по тегам