Как создать плагины, имеющие разные версии, из одного родителя pom.xml? - PullRequest
2 голосов
/ 10 июля 2011

Я пытаюсь создать несколько плагинов Eclipse с Maven Tycho.Все плагины не имеют одинаковый номер версии.

Допустим, следующая архитектура pom:

  • plugin1 (версия 1.0.6.qualifier) ​​/ pom.xml
  • plugin2 (версия 1.4.0.qualifier) ​​/ pom.xml
  • pom.xml (версия родительского pom 1.0.0.SNAPSHOT)

Сборка Maven завершается неудачно сследующая ошибка:

[ERROR] Failed to execute goal org.eclipse.tycho:tycho-packaging-plugin:0.12.0:validate-version (default-validate-version) on project plugin1: Unqualified OSGi version 1.0.6.qualifier must match unqualified Maven version 1.0.0-SNAPSHOT for SNAPSHOT builds

Как настроить родительский pom для возможности сборки этих плагинов с разными номерами версий?Должен ли я использовать другую архитектуру pom для решения этой проблемы?

Обратите внимание, что я не хочу изменять версии плагина.

Ответы [ 4 ]

11 голосов
/ 01 августа 2011

версия POM maven и версия MANIFEST должны совпадать (суффикс ".qualifer" в MANIFEST заменяется на "-SNAPSHOT" в pom.xml).

См. http://wiki.eclipse.org/Tycho/Packaging_Types#eclipse-plugin

2 голосов
/ 15 июля 2014

Вы можете настроить плагин Tycho таким образом, чтобы только проблемы с предупреждениями версий: http://www.eclipse.org/tycho/sitedocs/tycho-packaging-plugin/validate-version-mojo.html

<plugins>
        <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-packaging-plugin</artifactId>
            <configuration>
                <strictVersions>false</strictVersions>
            </configuration>
        </plugin>
    </plugins>

Результат:

[INFO] --- tycho-packaging-plugin:0.16.0:validate-version (default-validate-version) @ org.apache.commons.io ---
[WARNING] Unqualified OSGi version 5.1.0.qualifier must match unqualified Maven version 2.1.0-SNAPSHOT for SNAPSHOT builds
1 голос
/ 07 января 2015

Даже я столкнулся с той же проблемой и нашел решение для той же самой.

На самом деле проблема в том, что версия файла Manifest.MF и родительская версия pom.xml должны быть одинаковыми, иначе мы получим эту ошибку.

Manifest.MF Bundle-Version: 2.5.0.qualifier

pom.xml

<parent>
    <groupId>com.example.pma</groupId>
    <artifactId>com.example.pma.product.parent</artifactId>
    <version>2.5.0-SNAPSHOT</version>
    <relativePath>../com.example.pma.product.parent</relativePath>
</parent>
0 голосов
/ 10 июля 2011

Я нашел решение.Я добавил тег версии, соответствующий версии плагина Eclipse, в каждый модуль pom.xml.

Можно ли использовать файлы maven pom.xml без тега версии и разрешать использовать tycho с версией, указанной в MANIFEST.MF файлы?

...