0

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

org.osgi.framework.BundleException: The bundle "My_OSGI_Bundle" could not be resolved. Reason: Missing Constraint: Import-Package: com.sun.javadoc; 

Каждый раз, когда я вручную добавить недостающее ограничение среди из Maven-расслоения-плагина. Но всегда есть еще одно недостающее ограничение. Теперь я застрял на com.sun.javadoc, который я никак не могу добавить. В любом случае ... Я не могу добавить все пакеты вручную! У вас есть идея, пожалуйста? Спасибо

=== UPDATE ===

, ничего не добавляя в экспортном теге, то первая ошибка пробег пучка дает мне:

org.osgi.framework.BundleException: The bundle "Partes_0.1.0.SNAPSHOT [55]" could not be resolved. 
Reason:Missing Constraint: Import-Package: com.eviware.soapui.config; version="0.0.0" at 
org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1327) at 
org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolutionFailureException(AbstractBundle.java:1311) at .. 

ответ

0

Эта ошибка означает, что что-то внутри ваш комплект зависит от com.sun.javadoc, например как прямой результат использования этого API из вашего кода. Вам нужно найти пакет, который экспортирует этот API.

Теперь вы можете заявить, что фактически не используете com.sun.javadoc. Я полагаю, что вы, вероятно, перетащили всю загрузку дополнительных сторонних зависимостей в свой пакет ... фраза «каждый раз, когда я вручную добавляла недостающее ограничение», выдает сигналы тревоги! Таким образом, зависимость, вероятно, существует во всем, что не должно быть в вашем комплекте.

Лучшее, что нужно сделать, это вернуться к началу, прежде чем вы начали добавлять случайные биты в свой комплект, пытаясь устранить проблему. То есть убедитесь, что ваш комплект содержит только ваш код. Затем выясните, что такое недостающий импорт, и найдите пакет, который его экспортирует.

+0

, где bndtools обеспечивает отличную поддержку, чтобы найти виновных ... –

+0

, когда я сказал «каждый раз, когда добавляю вручную ..» Я имею в виду, каждый раз, когда у меня возникает ошибка «отсутствует ограничение xyz», я вручную добавляю его в экспорт тег maven-bundle-plugin. – DeLac

+0

Да, это проблема. Не делай этого! –

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