Встраивание/включение сгенерированных источников с помощью maven-bundle-plugin

Я использую OSGi (Fuse 7/Karaf 4)

Раньше я создавал классы WSDL в своих общих библиотеках и экспортировал их на сервисный уровень.

Сейчас я пытаюсь перейти к экспорту самого WSDL и созданию классов на сервисном уровне.

Классы обслуживания и план используют сгенерированные классы.
Но мне нужно использовать ! в Import-Package, поэтому BND не пытается их импортировать.

Я хочу, чтобы он нашел эти сгенерированные классы, которые создает Maven, в target/generated/src/main/java.

Но если я загляну в банку пакета, эти классы, сгенерированные CXF, не включены.

Как заставить BND включать исходники в эту папку?

На данный момент я получаю сообщение об ошибке:

    Caused by: java.lang.ClassNotFoundException: com.company.ObjectFactory not found by Service [374]

И достаточно справедливо, потому что это не в банке. Но исходники находятся в папке /target/generated, и все компилируется нормально.

Что я пробовал:

Embed-Directory

Включить-ресурс

построить-помощник-maven-плагин


person djb    schedule 20.03.2019    source источник
comment
Я не понимаю, почему вам нужно определить правило исключения Import-Package. Если они создаются внутри вашего проекта, они не импортируются. Добавьте свой POM в вопрос, по крайней мере, в раздел сборки, чтобы было легче оценить проблему.   -  person Marcos Zolnowski    schedule 21.03.2019
comment
Поэтому мои сгенерированные файлы по какой-то причине не включены в пакет jar. Это главная странность. (Вещь с импортным пакетом, возможно, отвлекающий маневр). Завтра еще посмотрю. Спасибо   -  person djb    schedule 22.03.2019
comment
Итак, я удалил раздел ‹Export-Package›, и это исправило :/   -  person djb    schedule 25.03.2019


Ответы (1)


Итак, для меня это не имеет особого смысла, но я удалил свой раздел, и это привело к тому, что исходные файлы, сгенерированные wsdl, были включены в комплект.

person djb    schedule 25.03.2019