Я обновляю проект до аннотаций OSGi R6 (у меня есть ограничения на запуск OSGi R7 из-за моих зависимостей, развернутых в моем контейнере), и я столкнулся с проблемой, когда в моей старой аннотации Apache Felix SCR были тире, а это не так.возможно с OSGi R6.
Я пытаюсь сохранить свои существующие свойства OSGi как есть (содержащие тире) при переходе к аннотациям OSGi R6, однако это оказывается трудным.
Что ясейчас я пытаюсь использовать аннотации OSGi R7, поддерживающие тире через $_$
, и ищу способ заставить XML-файлы /target/classes/OSGI-INF/metatype
иметь
<metatype:MetaData xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.2.0"...
вместо
<metatype:MetaData xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.4.0"...
.., что является несовместимостью в моем приложении (не удается разрешить пространство имен 1.4.0, и нет, я не могу обновить службу Metatype).
Есть ли способ заставить XMLNS генерировать метатип XML?Я могу принудительно установить его в файлах XML-компонентов в / target / classes / OSGI-INF, указав @Component(xmlns="http://www.osgi.org/xmlns/metatype/v1.2.0")
, однако это задает его для компонента, а не для метатипа (и он мне нужен для метатипа).
Я использую:
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>4.1.0</version>
Есть мысли о том, как мне этого добиться?