проблема maven-bundle-plugin (OSGI) - PullRequest
       5

проблема maven-bundle-plugin (OSGI)

1 голос
/ 07 декабря 2010

У меня есть проект, который производит OSGI-пакет, используя maven-bundle-plugin. Конфигурация выглядит так:

<plugin>
    <groupId>org.apache.felix</groupId>
    <artifactId>maven-bundle-plugin</artifactId>
    <version>2.1.0</version>
    <extensions>true</extensions>
    <inherited>true</inherited>
    <configuration>
        <instructions>
            <Export-Package>${bubble.osgi.exports}</Export-Package>
            <Import-Package>${bubble.osgi.imports}</Import-Package>
            <Embed-Dependency>${bubble.osgi.embed.dependencies}</Embed-Dependency>

            <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
        </instructions>
        <versions>
            <bubble.osgi.version.clean>${project.version}</bubble.osgi.version.clean>
        </versions>
    </configuration>
    <executions>
        <execution>
            <phase>generate-sources</phase>
            <goals>
                <goal>cleanVersions</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Результатом проекта является один файл jar, содержащий все файлы osgi, встроенные зависимости и т. Д. Я бы предпочел иметь в качестве результата 2 банок, один с включенным OSGI, а другой без, так как встроенные зависимости вызывают проблемы при использовании его просто как простой JAR.

Есть ли другой способ, кроме использования подключаемого модуля maven для этого?

Ответы [ 2 ]

2 голосов
/ 02 февраля 2011

Я бы порекомендовал использовать 2 разных файла pom.xml (в проекте), которые будут генерировать 2 разных артефакта.

По умолчанию pom.xml должна генерировать простую библиотеку, такую ​​как foo: bar:1.0.0

Другой pom-osgi.xml должен сгенерировать библиотеку OSGi, например foor: bar-osgi: 1.0.0

Чтобы создать библиотеку с другим pomиспользуйте

mvn -f pom-osgi.xml install
2 голосов
/ 07 декабря 2010

Вы можете переместить конфигурацию maven-bundle-plugin в отдельный профиль и использовать что-то вроде

мвн пакет -Посги или по умолчанию. Но в каждом билде будет произведен только один артефакт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...