2015-07-09 8 views
1

Я пытаюсь использовать ведение журнала pax в только что установленном контейнере Apache Felix. установлены следующие пакеты:Служба регистрации Pax - ошибка запуска активатора

lb 
START LEVEL 1 
    ID|State  |Level|Name 
    0|Active  | 0|System Bundle (5.0.0) 
    1|Active  | 1|Apache Felix Bundle Repository (2.0.4) 
    2|Active  | 1|Apache Felix Gogo Command (0.14.0) 
    3|Active  | 1|Apache Felix Gogo Runtime (0.16.2) 
    4|Active  | 1|Apache Felix Gogo Shell (0.10.0) 
    6|Active  | 1|Apache Felix Declarative Services (1.6.0) 
    7|Active  | 1|Apache Felix Web Management Console (3.1.2) 
    8|Installed | 1|Apache Felix Configuration Admin Service (1.2.4) 
    9|Resolved | 1|OSGi R4 Compendium Bundle (4.0.0) 
    10|Resolved | 1|Apache Felix Http Bundle (2.0.4) 
    11|Installed | 1|Apache Felix iPOJO WebConsole Plugins (1.6.0) 
    12|Installed | 1|Apache Felix iPOJO (1.8.0) 
    13|Active  | 1|HTTP Service (1.0.1) 
    14|Installed | 1|Apache Felix Log Service (1.0.0) 
    15|Resolved | 1|Apache Felix Shell Service (1.4.2) 
    26|Active  | 1|db_bundle (0.0.1.SNAPSHOT) 
    33|Active  | 1|Loader (0.0.1.SNAPSHOT) 
    39|Resolved | 1|OPS4J Pax Logging - Service (1.8.3) 
    40|Active  | 1|OPS4J Pax Logging - API (1.8.3) 
    42|Resolved | 1|OPS4J Pax Logging - Log4j v2 (1.8.3) 

Попытка запустить пакет 39 (Pax Logging - Сервис) приводит:

g! felix:start 39 
org.osgi.framework.BundleException: Activator start error in bundle org.ops4j.pax.logging.pax-logging-service [39]. 
    at org.apache.felix.framework.Felix.activateBundle(Felix.java:2270) 
    at org.apache.felix.framework.Felix.startBundle(Felix.java:2138) 
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:977) 
    at org.apache.felix.gogo.command.Basic.start(Basic.java:729) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:137) 
    at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82) 
    at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:480) 
    at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:406) 
    at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108) 
    at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:182) 
    at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:119) 
    at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:94) 
    at org.apache.felix.gogo.shell.Console.run(Console.java:62) 
    at org.apache.felix.gogo.shell.Shell.console(Shell.java:203) 
    at org.apache.felix.gogo.shell.Shell.gosh(Shell.java:128) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:137) 
    at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82) 
    at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:480) 
    at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:406) 
    at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108) 
    at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:182) 
    at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:119) 
    at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:94) 
    at org.apache.felix.gogo.shell.Activator.run(Activator.java:75) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.NoClassDefFoundError: org/ops4j/pax/logging/EventAdminPoster 
    at java.lang.Class.getDeclaredConstructors0(Native Method) 
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) 
    at java.lang.Class.getConstructor0(Class.java:3075) 
    at java.lang.Class.newInstance(Class.java:412) 
    at org.apache.felix.framework.Felix.createBundleActivator(Felix.java:4453) 
    at org.apache.felix.framework.Felix.activateBundle(Felix.java:2215) 
    ... 32 more 
Caused by: java.lang.ClassNotFoundException: org.ops4j.pax.logging.EventAdminPoster not found by org.ops4j.pax.logging.pax-logging-api [29] 
    at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1558) 
    at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79) 
    at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1998) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1399) 
    at org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1579) 
    at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1509) 
    at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79) 
    at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1998) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 38 more 
java.lang.NoClassDefFoundError: org/ops4j/pax/logging/EventAdminPoster 

я вручную проверил Logging API сверток Pax (чел-лесозаготовительной-API- 1.8.3.jar) - включен файл org/ops4j/pax/logging/EventAdminPoster.class. Я также проверил Manifest.mf в комплекте API (pax-logging-api-1.8.3.jar). "Export-Package" раздел начинается с Export-Package:

org.apache.avalon.framework.logger; использует: = "org.apache.log "; версия =" 4.3"; поставщик = paxlogging, org.apache .commons.logging, использует: = "о rg.osgi.framework, org.ops4j.pax.logging", версия = "1.1.1", поставщик = paxlo gging ...

Итак, Я не знаю, почему запуск пакета Pax Logging Service сбрасывает ClassNotFoundException. Что мне не хватает?

Примечание: Связки 26 и 33 - это некоторые тестовые комплекты, в которых я пытаюсь использовать log4j через протоколы pax.

ответ

0

После перезагрузки felix проблема решена. Запуск программы Pax Logging Service теперь работает.