2010-02-26 2 views
1

Я использую модуль maven-bundle для создания моих пакетов. Одна ошибка, которая меня беспокоит в том, что finalName (файл jar) не соответствует фактическому имени пучка.Как настроить Maven для создания нужного пакета OSGi с именем named

Внутри пакет плагин конвертировать версию из формата в формат Maven OSGi (например: 1,0-Snapshoot => 1.0.0.SNAPSHOOT)

Как следует фактическое Проппер OSGi именование может быть извлечена, прежде чем строить банку/расслоение?

В качестве примера рассмотрим, что мой артефакт будет com.mycomp.proj с версией 1,2-Snapshoot Расслоение символическое имя будет com.mycomp.proj. Я хотел бы настроить Maven-расслоением-плагин для создания com.mycomp.proj_1.2.SNAPSHOOT вместо текущего om.mycomp.proj-1,2-Snapshoot, который унаследованный от SuperPOM.

Идея заключается в том, чтобы извлечь версию OSGIfied поставить его под <finalName> $ {project.artifactId} _ {$ osgiVersion} </finalName & GT; .... buh не знает, как/если я могу получить версию OSGified

+0

Я не думаю, что maven-bundle-plugin устанавливает такое свойство. –

ответ

0

Окончательное имя влияет только на файлы в папке/цели. После того, как файл установлен или развернут в репозиторий, он всегда переименовывается в $ {artifactId} - $ {version} - $ {classifier}. $ {Type}, который является частью стандарта макета репозитория M2.

+0

Даже если я знаю это (но не рассматривал его в этом контексте) ... Я голосовал за ваш ответ, будучи правильным ответом. Поскольку я разрабатываю приложения OSGi/RCP, моя идея состояла в том, чтобы использовать в качестве окончательного имени Maven одно и то же имя пакета OSGI (на основе Bundle-SymbolicName), поэтому у вас есть какое-то предложение о том, как постобразить артефакт Maven (например: после зависимости: зависимости от копирования), чтобы переименовать их в имя OSGi (используя Maven/build-in Ant)? – user68682