Пакет использует конфликт: Import-Package с jasperreports

У меня есть общая проблема «конфликта использования» в OSGi, я новичок в OSGi, поэтому извините, если это очень просто. Я прочитал это и другие вопросы. Я также прочитал это, в котором более подробно объясняется подробно, как отлаживать эти проблемы; тем не менее, я не могу понять это. Я не могу найти дублированный экспорт (цитируя последнюю статью «Всегда должно быть более одного поставщика, чтобы вы могли увидеть нарушение ограничения использования».)

это полная ошибка

initial@reference:file:../../Dev/mine/target/dependency/jasperreports-3.7.1-osgi.jar [151]
  Package uses conflict: Import-Package: org.apache.commons.collections.comparators; version="0.0.0"

Вот соответствующий фрагмент манифеста яшмы. Слишком долго, чтобы вставить полностью

Export-Package: ...,net.sf.jasperreports.crosstabs.fill.calculation;uses:="org.apache.commons.collections,net.sf.jasperreports.engine,org.apache.commons.collections.comparators,org.apache.commons.logging,..."

А вот вывод packages org.apache.commons.collections.comparators, показывающий, что пакет экспортируется правильно и только один раз

osgi> packages org.apache.commons.collections.comparators
org.apache.commons.collections.comparators; version="3.2.0"<org.apache.commons.collections_3.2.0 [869]>

Любые идеи? что-то еще я мог бы попробовать? Я действительно сомневаюсь в этом, но равноденствие жалуется, что экспортированная версия 3.2.0, а версия uses 0.0.0?


person Hilikus    schedule 01.11.2012    source источник


Ответы (3)


Попробуйте запустить это на Apache Felix. Он обеспечивает обширную трассировку, когда обнаруживает конфликт использования.

person Peter Kriens    schedule 02.11.2012

попробуйте прочитать мой другой (длинный) ответ по адресу Пакет использует конфликт: Import-Package при запуске пакета Я разместил там довольно подробное описание того, как найти конфликт.

person taitelman    schedule 09.11.2012

В итоге я остановился на третьем варианте. Это связано с предложением @PeterKriens, надеюсь, это будет еще один подход к решению этих проблем для других. Я установил Karaf, который работает поверх Felix, и использовал папку горячего развертывания для развертывания одного jar-файла. за раз. Таким образом, я мог видеть проблемы по мере их возникновения. Это очень медленно, но многословно. Используя только Felix, я не нашел способа развертывания, как это

person Hilikus    schedule 14.12.2012