Как бороться с транзитивными зависимостями при установке сторонней библиотеки с Maven Bundlor - PullRequest
0 голосов
/ 05 февраля 2012

Я хочу использовать hibernate 4 в своем проекте osgi, поэтому мне нужно сделать hibernate 4 и его зависимые плагины osgi, чтобы они были доступны во время выполнения osgi. Я использую Maven Bundlor, чтобы сделать это. Поскольку гибернация зависит от нескольких других библиотек, некоторые из которых также имеют транзитивные зависимости. Есть ли способ позволить maven автоматически находить все зависимости hibernate 4 и делать все доступным во время выполнения osgi?

Спасибо.

Ответы [ 2 ]

1 голос
/ 14 декабря 2012

Установите флажок в библиотеке pax , чтобы обернуть банки из командной строки. Или, если вы храните свои артефакты в хранилище Nexus, взгляните на этот плагин производителя пакетов : он генерирует пакеты на лету, если они еще не существуют, когда у зависимости есть <classifier>osgi</classifier>. Я использую второй подход, и хотя при настройке глючит, он делает работу

В качестве третьего варианта создайте poms, которые будут использовать maven-bundle-plugin для упаковки банок. Я использую этот подход, когда мне нужно настроить директивы BND, чтобы исключить импорт или изменить экспорт
Родительский pom-оболочка, сгенерированный мной из pax-maven-plugin , и каждый упакованный jar наследуется от этого pom

Все они используют BND между прочим

0 голосов
/ 07 февраля 2012

Почему бы не использовать пакеты, доступные в Maven Central? Эта ссылка содержит список всех спящих комплектов. Вы заметите, что hibernate-core версии 4.0.1.Final доступен со следующим XML-кодом зависимости maven:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>4.0.1.Final</version>
</dependency>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...