как использовать плагин пакета maven, чтобы исключить пакет из пакета

у меня есть пакет, который использует maven-jaxb2-plugin для генерации всех классов для target/generated/src/main/java. Затем я использую плагин пакета maven для создания пакета. Это просто работает.

Теперь я хочу исключить (удалить) сгенерированный пакет com.xxx.yyyy.common из этого пакета. Поэтому я использую:

<Export-Package>
     !com.xxx.yyyy.common,com.xxx.*
</Export-Package>

Но после того, как у вас есть пакет, этот пакет все еще находится внутри пакета.


person David    schedule 25.05.2015    source источник


Ответы (2)


Я заставил это работать. По сути, нам нужно использовать комбинацию между <Export-Package> и <Private-Package>. Скажите плагину пакета maven, чтобы он не экспортировал этот пакет, и этот пакет не является частным пакетом -> это означает, что нам не нужно хранить этот пакет в комплекте

<Export-Package>!com.xxx.yyyy.common</Export-Package>
<Private-Package>!com.xxx.yyyy.common</Private-Package>
person David    schedule 28.05.2015

Синтаксис, который вы используете, заключается в том, чтобы исключить пакет из экспорта, а не из упаковки. Вам нужно использовать стандартные инструкции по сборке maven для исключения чего-либо из упакованного артефакта. Это не цель для плагина maven-bundle-plugin, плагин maven-bundle-plugin только генерирует записи OSGi-Manifest из вашего упакованного артефакта.

person Achim Nierbeck    schedule 26.05.2015
comment
Спасибо. ваше мнение - это один из вариантов, который мы использовали в других проектах. Для этого проекта мы предпочитаем работать с плагином пакета maven. - person David; 28.05.2015