2015-05-07 2 views
0

В комплекте с OSGi Я пытаюсь удалить *;resolution=optional и указать конкретные импорт. Когда я проверяю на импорт времени выполнения, как следуетУменьшить количество пакетов импорта в пакете OSGi

org.apache.catalina.valves; version="8.0.20", 
org.apache.catalina.util; version="8.0.20", 
org.apache.catalina.session; version="8.0.20", 
org.apache.catalina.realm; version="8.0.20", 
org.apache.catalina.core; version="8.0.20", 
org.apache.catalina.connector; version="8.0.20", 
org.apache.catalina.authenticator; version="8.0.20", 
org.apache.catalina; version="8.0.20", 
org.apache.catalina.tribes; version="0.0.0"<unwired><optional> 
org.apache.catalina.tribes.group; version="0.0.0"<unwired><optional> 
org.apache.catalina.tribes.group.interceptors; version="0.0.0"<unwired><optional> 
org.apache.catalina.tribes.io; version="0.0.0"<unwired><optional> 
org.apache.catalina.tribes.tipis; version="0.0.0"version="0.0.0"<unwired><optional> 

Могу ли я уменьшить это, как это?

<Import-Package> 
    org.apache.catalina.*;version="8.0.20", 
    org.apache.catalina.tribes.*;resolution:=optional, 
</Import-Package> 

Это хорошая практика?

Когда я построю банку с более поздней конфигурации, все еще в файле манифеста он показывает разрешение = опциональный рядом с пакетами

ред

Dependency раздел

<dependencies> 
     <dependency> 
      <groupId>org.apache.tomcat</groupId> 
      <artifactId>tomcat-catalina-ha</artifactId> 
      <version>8.0.20</version> 
      <optional>true</optional> 
     </dependency> 
</dependencies> 
+1

Мне не совсем ясно, что вы хотите сделать. Эти пакеты являются зависимостями кода внутри вашего пакета. Если вам не нужны зависимости, тогда не используйте эти пакеты ... –

+0

@NeilBartlett Я создаю пакет OSGi из указанной зависимости и экспортирую некоторые из его пакетов –

+0

Я вижу ... так, в чем проблема ? –

ответ

2

Вы не можете использовать * в манифесте, но вы можете использовать плагин maven-bundle и в его конфигурациях *.

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

+0

Я использую плагин maven-bundle. Я редактирую свой вопрос –

+0

Можете ли вы также показать соответствующие зависимости maven в своем пом? –

+0

Я добавил раздел зависимости в отредактированном вопросе –

 Смежные вопросы

  • Нет связанных вопросов^_^