Blueprint - Модульное тестирование с Pax Exam - Невозможно разрешить зависимости
Мы находимся в процессе миграции весеннего верблюжьего приложения на верблюжье. Мы также переходим на версию fuse 6.1. Я использую Pax Exam с Junit Runner вместе с Apache Felix Container для выполнения моего модульного тестирования. Я сталкиваюсь с проблемой нерешенной проблемы связки, связанной с менеджером ehcache. Я попытался дать необходимые зависимости для конфигурации pax как mavenBundle, но без какой-либо удачи. Исключение не дает подробностей об отсутствующих зависимостях, вместо этого оно дает общую ошибку только пакета, т. Е. "Osgi.wiring.package = net.sf.ehcache".
Я дал необходимые зависимости в pom.xnl, и eclipse не показывает никаких ошибок. Ниже приведена конфигурация, используемая в Junit.
'@Configuration public Option [] config () {
return options(systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value("DEBUG"),
systemProperty("Test.Property").value("system"),
systemProperty("pax.exam.logging").value("none"),
systemTimeout(600000),
mavenBundle("commons-lang", "commons-lang", "2.5"),
mavenBundle("commons-collections", "commons-collections", "3.2.1"),
mavenBundle("commons-beanutils", "commons-beanutils", "1.8.3"),
mavenBundle("commons-io", "commons-io", "2.0"),
mavenBundle("ch.qos.logback", "logback-core", "1.0.9"),
mavenBundle("ch.qos.logback", "logback-classic", "1.0.9"),
mavenBundle("org.slf4j", "slf4j-api", "1.7.5"),
mavenBundle("org.slf4j", "jcl-over-slf4j", "1.7.5"),
mavenBundle("net.sf.ehcache", "ehcache-core", "2.6.9"),
mavenBundle("net.sf.ehcache", "ehcache", "1.5.0"),
mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint", "1.1.0"),
mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy", "1.0.0"),
mavenBundle("org.apache.aries", "org.apache.aries.util", "1.1.0"),
mavenBundle("channelservicelayer", "base", "1.0.0"),
mavenBundle("asm", "asm-all", "3.1"),
junitBundles()
);
}'
Я прилагаю журналы, как показано ниже
--- org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator]: Включение поддержки API SLF4J. org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator]: Включение поддержки API ведения журнала Jakarta Commons. org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator]: включение поддержки API Log4J. org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator]: Включение поддержки Avalon Logger API. org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator]: Включение поддержки JULI Logger API. 16:58:10.097 [FelixStartLevel] DEBUG oopsextender.BundleWatcher - Пакет сканирования [org.ops4j.pax.logging.pax-logging-api] 16:58:10.097 [FelixStartLevel] DEBUG oopsextender.BundleWatcher или Scanning bunds4g или сканирование.base] 16:58:10.097 [FelixStartLevel] DEBUG oopsextender.BundleWatcher - Сканирующий пакет [org.ops4j.pax.swissbox.core] 16:58:10.097 [FelixStartLevel] DEBUG oopsextender.BundleWatcher - сканирующий пакет [или.swissbox.extender] 16:58:10.100 [FelixStartLevel] DEBUG oopsextender.BundleWatcher - Пакет сканирования [org.ops4j.pax.swissbox.framework] 16:58:10.100 [FelixStartLevel] DEBUG oopsextender. BundleWat.pax.swissbox.lifecycle] 16:58:10.100 [FelixStartLevel] DEBUG oopsextender.BundleWatcher - Сканирующий пакет [org.ops4j.pax.swissbox.tracker] 16:58:10.100 [FelixStartLevel] DEBUG oopsextender orgundle.apache.geronimo.specs.geronimo-atinject_1.0_spec] 16:58:10.101 [FelixStartLevel] DEBUG oopsextender.BundleWatcher - Сканирующий комплект [org.ops4j.pax.tipi.junit] 16:58:10.102 [FelixStartLevel] DEBUG oopsextender.BundleWatcher - Сканирующий комплект [org.apache.commons.lang] 16:58:10.103 [FelixStartLevel] DEBUG oopsexter Пакет сканирования [org.apache.commons.collections] 16:58:10.105 [FelixStartLevel] DEBUG oopsextender.BundleWatcher - Пакет сканирования [org.apache.commons.beanutils] 16:58:10.106 [FelixStartLevel] DEBUG Сканирование oopsexatlele [org.apache.commons.io] 16:58:10.106 [FelixStartLevel] DEBUG oopsextender.BundleWatcher - Пакет сканирования [ch.qos.logback.core] 16:58:10.106 [FelixStartLevel] DEBUG oopsextender.BundleWatcher - Пакет сканирования.qos.logback.classic] 16:58:10.106 [FelixStartLevel] DEBUG oopsextender.BundleWatcher - Пакет сканирования [slf4j.api] 16:58:10.107 [FelixStartLevel] DEBUG oopsextender.BundleWatcher - Scanning bundl [j4].:58:10.116 [FelixStartLevel] ОТЛАДКА oaabcontainer.BlueprintExtender - Запуск расширителя чертежа... 16:58:10.288 [FelixStartLevel] ИНФОРМАЦИЯ oaabcontainer.BlueprintExtender - Поддержка приостановки недоступна, поэтому компоненты проекта не будут участвовать в операциях покоя 16:58:10.289 [FelixStartLevel] ОТЛАДКА oaabcontainer.BlueprintExtender - Расширитель чертежа запущен 16: 58: 10.289Level [Felix] oopsextender.BundleWatcher - Пакет сканирования [org.apache.aries.blueprint] 16:58:10.293 [FelixStartLevel] ОТЛАДКА oaabcontainer.BlueprintExtender - найден сервис ProxyManager, начинающий обрабатывать пакеты чертежей 16:58:10.295 [FelixStartLluecon Сканирующий пакет org.apache.felix.framework для приложения blueprint 16:58:10.298 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - В пакете org.apache.felix.framework не найдено приложение чертежа 16: 58: 10.298 [FelixStartLevel] DEBUG. - Пакет сканирования org.ops4j.pax.exam для приложения с чертежом 16:58:10.299 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - Нет bluepri В пакете не найдено приложение org.ops4j.pax.exam 16:58:10.300 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - Пакет сканирования org.ops4j.pax.exam.inject для приложения с чертежом 16: 58: 10.300 [FelixStartLevel] DEBUG. BlueprintExtender - в пакете org.ops4j.pax.exam.inject не найдено приложение 16: 58: 10.300 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - пакет сканирования org.ops4j.pax.exam.extender.service для приложения чертежа 16:58: 10.300 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - в пакете не найдено приложение чертежа org.ops4j.pax.exam.extender.service 16:58:10.300 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - приложение для сканирования пакета 16:58 для чертежа:10.312 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - в пакете не обнаружено приложение для разработки чертежей osgi.cmpn 16:58:10.312 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - пакет сканирования org.ops4j.pax. logging-apax.logging -pax for for Приложение ueprint 16:58:10.313 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - В пакете не найдено приложение чертежа org.ops4j.pax.logging.pax-logging-api 16:58:10.313 [FelixStartLevel] DEBUG oaabcontainer.BlueningExprint.ops4j.base для приложения blueprint 16:58:10.314 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - В пакете не найдено приложение blueprint org.ops4j.base 16:58:10.314 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender. pax.swissbox.core для приложения с чертежами 16:58:10.315 [FelixStartLevel] ОТЛАДКА oaabcontainer.BlueprintExtender - Приложение с чертежами не найдено в пакете org.ops4j.pax.swissbox.core 16:58:10.315 [FelixStartLevel] Сканирование отладки - контейнер для отладки bundle org.ops4j.pax.swissbox.extender для приложения blueprint 16:58:10.315 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - в пакете org.ops4j.pax.swissbox.extender не найдено приложение чертежа 16:58: 10.315 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - Пакет сканирования org.ops4j.pax.swissbox.framework для приложения с чертежом 16:58:10.315 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - приложение в чертеже не найдено..framework 16:58:10.315 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - Пакет сканирования org.ops4j.pax.swissbox.lifecycle для приложения blueprint 16:58:10.316 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExglend найден в комплекте или нет.ops4j.pax.swissbox.lifecycle 16:58:10.316 [FelixStartLevel] ОТЛАДКА oaabcontainer.BlueprintExtender - пакет сканирования org.ops4j.pax.swissbox.tracker для приложения с чертежом 16: 58: 10.316 [FelixStartLevel] приложение отладки - приложение для отладки Blueprint находится в пакете org.ops4j.pax.swissbox.tracker 16:58:10.316 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - пакет сканирования org.apache.geronimo.specs.geronimo-atinject_1.0_spec для приложения с чертежом 16:58:10.316 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - Приложение с чертежом не найдено в пакете org.apache.geronimo.specs.geronimo-atinject_1.0_spec 16:58:10.316 [FelixStartLevel] Отображение отладки. bundle org.apache.commons.lang для приложения blueprint 16:58:10.317 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - в пакете не найдено приложение blueprint org.apache.commons.lang 16:58:10.317 [FelixStartLevel] DEBUG oaabcontainer.BlueEx Сканирование комплекта org.apache.commons.collections для приложения с чертежами 16:58:10.326 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - Приложение с чертежами не найдено в пакете org.apache.commons.collections 16:58:10.327 [FelixStartLevel] ОТСУТСТВИЕ ОТПРАВКИ DEBUG - Пакет сканирования org.apache.commons.beanutils для приложения с чертежами 16:58:10.330 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - Приложение с чертежами не найдено. I n bundle org.apache.commons.beanutils 16:58:10.330 [FelixStartLevel] ОТЛАДКА oaabcontainer.BlueprintExtender - пакет сканирования org.apache.commons.io для приложения с чертежами 16: 58: 10.330 [FelixStartLevel] DEBUG приложение oaabcontainer.BlueprintEx находится в комплекте org.apache.commons.io 16:58:10.330 [FelixStartLevel] ОТЛАДКА oaabcontainer.BlueprintExtender - Сканирующий комплект ch.qos.logback.core для приложения с чертежами 16:58:10.331 [FelixStartLevel] ОТЛАДКА oaabcontainer.BlueprintExtender Приложение найдено в пакете ch.qos.logback.core 16:58:10.331 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - Пакет сканирования ch.qos.logback.classic для чертежа приложения 16:58:10.331 [FelixStartLevel] DEBUG oaabcontainer.BlueEx Приложение blueprint найдено в пакете ch.qos.logback.classic 16:58:10.332 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - Пакет сканирования slf4j.api для приложения blueprint 16: 58: 10.332 [FelixStartLevel] DEB UG oaabcontainer.BlueprintExtender - в пакете не найдено приложение чертежа slf4j.api 16:58:10.332 [FelixStartLevel] ОТЛАДКА oaabcontainer.BlueprintExtender - пакет сканирования jcl.over.slf4j для приложения blueprint 16: 58: 10.332 [FelixSttainerOberLevel] В пакете не найдено приложение чертежа jcl.over.slf4j 16:58:10.332 [FelixStartLevel] ОТЛАДКА oaabcontainer.BlueprintExtender - Запуск процесса уничтожения BlueprintContainer для комплекта null 16:58:10.332 [FelixStartLevel] DEBUG уничтожение oaabcontainer.Blueprint или сборщик BlueprintContainer уже завершен для нуля. 16:58:10.332 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - Запуск процесса уничтожения BlueprintContainer для пакета null 16:58:10.332 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - Пакет или уничтожение BlueprintContainer уже не завершено. 16:58:10.332 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - Пакет сканирования org.apache.aries.blueprint для приложения с чертежами 16:58:10.335 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - приложение с чертежами в пакете org.ap с путями: [bundle://23.0:0/OSGI-INF/blueprint/blueprint-cm.xml, bundle://23.0:0/OSGI-INF/blueprint/blueprint-ext.xml] 16:58:10.351 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - Планирование создания пакета чертежей org.apache.aries.blueprint асинхронно org.osgi.framework.BundleException: неразрешенное ограничение в базе пакетов [26]: невозможно разрешить 26.0: отсутствует требование [26.0] osgi.wiring.package; (osgi.wiring.package=net.sf.ehcache) в org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826) в org.apache.felix.framework.Felix.startBundle(Felix.java:1868) в org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191) в org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295) в java.lang.Thread.run java:745) 16:58:10.355 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - запуск процесса уничтожения BlueprintContainer для пакета org.apache.aries.util 16:58:10.355 [FelixStartLevel] DEBUG oaabcontainer.Blueprint bundlelendlend или нет - нет BlueprintContainer уже завершен для org.apache.aries.util. 16:58:10.355 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - Запуск процесса уничтожения BlueprintContainer для базы комплектов 16: 58: 10.355 [FelixStartLevel] DEBUG oaabcontainer.BlueprintExtender - Пакет или уничтожение BlueprintContainer уже не завершено.
1 ответ
Мне удалось решить проблему, обновив версию ehcache до последней версии 2.8.5. Ядро ehcache ожидает более высокую версию, чем та, которую я использую как версию ehcache 1.5.2.
Для начинающих осги, таких как я, большая проблема - не получить правильное сообщение об ошибке, из-за чего я трачу много времени на расследование.