Использование maven-deploy-plugin для развертывания продукта Eclipse

Я пытаюсь развернуть продукт Eclipse в хранилище Nexus. Я несколько успешен, но все еще получаю некоторые ошибки, с которыми я не уверен, как справиться.

Я использую maven-deploy-plugin в функции (F), которая создает продукт:

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>2.6</version>
            <executions>
                <execution>
                    <phase>deploy</phase>
                    <goals>
                        <goal>deploy-file</goal>
                    </goals>
                    <configuration>
                        <repositoryId>snapshots</repositoryId>
                        <packaging>zip</packaging>
                        <generatePom>true</generatePom>
                        <url>http://repo:8081/nexus/content/repositories/snapshots</url>
                        <groupId>my.group</groupId>
                        <artifactId>my.artifact</artifactId>
                        <version>1.0.0-SNAPSHOT</version>
                        <file>
                            target/products/product.zip
                        </file>
                    </configuration>
                </execution>
            </executions>
        </plugin>

Я выполняю 'mvn clean install', чтобы собрать продукт, а затем 'mvn deploy' на F. Если я это сделаю, то получу ошибку

Exception while publishing product /home/akravets/dev/workspaces/trunk/my.repository.feature/myProduct.product: publishing result: [Included element my.product.feature.feature.group 8.0.1.R20180301-1431 is missing. Cannot determine filter for requirement to this element.] -> [Help 1]

Я читал дискуссии по этой проблеме, но мне кажется, что ничего не имеет отношения к моей проблеме, потому что у меня нет определенных фаз развертывания, кроме как в maven-deploy-plugin.

Если я изменю фазу maven-deploy-plugin на 'install', я получу почти удовлетворительные результаты. ZIP-файл и сгенерированный pom развернуты в хранилище, но сборка завершается с ошибкой

product.qualifier-p2artifacts.xml. Return code is: 400, ReasonPhrase: Bad Request.

Почему этот файл даже считается развернутым в репозитории, если он не находится в элементе файла maven-deploy-plugin и не находится в структуре каталогов, где находится zip-файл: target/ vs target/product/product.zip? Это потому, что maven-deploy-plugin выполняется во время фазы установки, и он выбирает все сгенерированные ресурсы в качестве кандидатов для развертывания?

1 ответ

Решение

Я просто рекомендую вам использовать Maven-Tycho для развертывания продукта Eclipse RCP.Tycho определяет зависимости плагина через файл MANIFEST.MF плагина и выбирает необходимые плагины-связки через онлайн-репозитории.

Вы можете проверить этот репозиторий git в качестве примера; рчп - тычо

Другие вопросы по тегам