Пакетът използва конфликт: импортиран пакет с 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]>

Някакви идеи? нещо друго, което мога да опитам? Наистина се съмнявам, но equinox се оплаква ли, че експортираната версия е 3.2.0, но версията uses е 0.0.0?


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


Отговори (3)


Опитайте да стартирате това на Apache Felix. Той осигурява обширна следа, когато открие конфликт на употреба.

person Peter Kriens    schedule 02.11.2012

опитайте да прочетете другия ми (дълъг) отговор на Пакетът използва конфликт: Импортиране на пакет при стартиране на пакет Сложих там доста подробно как да открия конфликта.

person taitelman    schedule 09.11.2012

В крайна сметка се спрях на трети вариант. Това е свързано с предложението на @PeterKriens, надяваме се, че ще бъде друг подход за други да се справят с тези проблеми. Инсталирах Karaf, който работи върху Felix и използвах папката за горещо внедряване, за да разположа one jar наведнъж. По този начин можех да видя проблемите при възникването им. Много е бавен, но многословен. Използвайки само Felix, не намерих начин да разположа по този начин

person Hilikus    schedule 14.12.2012