Я пытаюсь использовать ведение журнала 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.