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.
Для начинающих осги, таких как я, большая проблема - не получить правильное сообщение об ошибке, из-за чего я трачу много времени на расследование.

Другие вопросы по тегам