Плагин Maven Bundle R6 Метатип

Я пытаюсь использовать maven-bundle-plugin для создания пакета с использованием аннотаций метатипа osgi r6.

Я создал класс конфигурации

@ObjectClassDefinition(
    name = "Bundle State Validator"
)
@interface BundleInstallationConfig {
    boolean DEFAULT_ENABLED = true;

    @AttributeDefinition(
        defaultValue = "true"
    )
    boolean isEnabled() default DEFAULT_ENABLED;
}

и я использую его в своем классе компонентов.

@Component(
    immediate = true
)
@Designate(ocd = BundleInstallationConfig.class)
public class BundleInstallationVerifier {
}

но когда я его создаю, сгенерированный файл метатипа выглядит неправильно и не загружается в конфигурационном администраторе. Это то, что генерируется (в нем отсутствует раздел обозначения)

<metatype:MetaData localization="OSGI-INF/l10n/test.test.BundleInstallationConfig">
    <OCD id="test.test.BundleInstallationConfig" name="Bundle State Validator" description="Watches bundles to ensure they are in the correct state and switches the System Ready state.">
        <AD id="isEnabled" type="Boolean" name="Is enabled" default="true"/>
    </OCD>
 </metatype:MetaData>

Это плагин пакета в моем pom

       <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <version>2.5.4</version>
            <extensions>true</extensions>
            <configuration>
                <instructions>
                    <obrRepository>NONE</obrRepository>
                    <_metatypeannotations>*</_metatypeannotations>
                    <_dsannotations>*</_dsannotations>
                </instructions>
            </configuration>
        </plugin>

Я зашел так далеко в основном из-за разочарований этого парня https://github.com/bndtools/bnd/issues/1030

https://groups.google.com/forum/#!msg/bndtools-users/_F0Nr8b7rlQ/2A9x660pAgAJ


person Alex Edwards    schedule 28.08.2015    source источник


Ответы (2)


Я не думаю, что maven-bundle-plugin еще не использует bndlib 3.0. bndlib 3.0 (еще не выпущенный) является источником поддержки аннотаций OSGi R6. Вы немного опережаете события.

person BJ Hargrave    schedule 28.08.2015
comment
Спасибо за это лакомство;) Я скачал и собрал bnd после переопределения зависимостей плагина, я смог успешно собрать проект, и были сгенерированы правильные файлы метатипов. - person Alex Edwards; 28.08.2015

Ваш designate не отображается, потому что он не был определен в классе. Взгляните на сообщение Нила Бартлетта по этой теме: введите здесь описание ссылки< /а>

person Matt Bishop    schedule 14.12.2015