微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OSGi 中的 NoClassDefFoundError 尽管它被导出和导入

如何解决OSGi 中的 NoClassDefFoundError 尽管它被导出和导入

我尝试基于 Karaf 创建一个基本的虚拟现实 IDE。

我有 3 个 maven 项目:

  1. 连接到本地组件进行渲染的 VRServer。
  2. 用于 VR-HMI-Widget 的 VR 组件工具包(具有从 VRComponent 扩展的 VRFrame)作为多模块 Maven 项目。
  3. VR IDE 项目读取/写入文件并执行低级命令。

enter image description here

我将它们全部安装到 Karaf 中:

karaf@root()> bundle:list
START LEVEL 100,List Threshold: 50
 ID | State  | Lvl | Version            | Name
----+--------+-----+--------------------+---------------------------------------------------------------------------
 31 | Active |  80 | 4.3.0              | Apache Karaf :: Osgi Services :: Event
 54 | Active |  80 | 1.3.2              | Apache Aries SPI Fly Dynamic Weaving Bundle
 55 | Active |  80 | 9.0.0              | org.objectweb.asm
 56 | Active |  80 | 9.0.0              | org.objectweb.asm.commons
 57 | Active |  80 | 9.0.0              | org.objectweb.asm.tree
 58 | Active |  80 | 9.0.0              | org.objectweb.asm.tree.analysis
 59 | Active |  80 | 9.0.0              | org.objectweb.asm.util
 60 | Active |  80 | 2.0.17             | OpenWebBeans Core
 61 | Active |  80 | 2.0.17             | SPI deFinition
 62 | Active |  80 | 1.1.3              | Apache Aries CDI - CDI Component Runtime (CCR)
 63 | Active |  80 | 1.1.3              | Apache Aries CDI - SPI classes for Portable Extensions
 64 | Active |  80 | 1.1.3              | Apache Aries CDI - Container using Apache OpenWebBeans
 65 | Active |  80 | 1.1.3              | Apache Aries CDI - SPI
 66 | Active |  80 | 1.0.12             | Apache Felix Converter
 67 | Active |  80 | 1.2.0              | Apache Geronimo JSR-330 Spec 1.0
 68 | Active |  80 | 1.1.0              | Apache Geronimo Expression Language Spec 2.2
 69 | Active |  80 | 1.2.0              | Apache Geronimo Interceptor Spec 1.2
 70 | Active |  80 | 1.2.0              | Apache Geronimo JCDI Spec 2.0
 71 | Active |  80 | 1.3.0.3            | Apache ServiceMix :: Specs :: Annotation API 1.3
 72 | Active |  80 | 4.17.0             | Apache XBean :: ASM shaded (repackaged)
 73 | Active |  80 | 4.17.0             | Apache XBean Osgi Bundle Utilities
 74 | Active |  80 | 4.17.0             | Apache XBean :: Finder shaded (repackaged)
 75 | Active |  80 | 1.0.1.201505202024 | org.osgi:org.osgi.namespace.extender
 76 | Active |  80 | 1.0.0.201505202024 | org.osgi:org.osgi.namespace.implementation
 77 | Active |  80 | 1.0.0.201505202024 | org.osgi:org.osgi.namespace.service
 78 | Active |  80 | 1.0.0.201810101357 | org.osgi:org.osgi.service.cdi
 79 | Active |  80 | 1.1.0.201802012106 | org.osgi:org.osgi.util.function
 80 | Active |  80 | 1.1.0.201802012106 | org.osgi:org.osgi.util.promise
 81 | Active |  80 | 4.3.1.SNAPSHOT     | Apache Karaf :: Osgi Services :: Event
134 | Active |  80 | 1.0.0              | Virtual reality server
135 | Active |  80 | 0.0.1.SNAPSHOT     | VRComponent
136 | Active |  80 | 0.0.1.SNAPSHOT     | VRFrame
142 | Active |  80 | 0.0.1.SNAPSHOT     | Virtual reality integrated development environment (VRIDE)
karaf@root()>

但是当我尝试启动 VRIDE 捆绑包时,出现此异常:

10:00:42.193 WARN [fileinstall-C:\Program Files\apache-karaf-4.3.0/deploy] Error while creating extension
java.lang.NoClassDefFoundError: Lde/e_nexus/vr/tk/VRFrame;
        at java.lang.class.getDeclaredFields0(Native Method) ~[?:1.8.0_232]
        at java.lang.class.privateGetDeclaredFields(Class.java:2611) ~[?:1.8.0_232]
        at java.lang.class.getDeclaredFields(Class.java:1944) ~[?:1.8.0_232]
        at org.apache.aries.cdi.container.internal.util.Reflection.allFields(Reflection.java:47) ~[!/:1.1.3]
        at org.apache.aries.cdi.container.internal.annotated.AnnotatedTypeImpl.<init>(AnnotatedTypeImpl.java:42) ~[!/:1.1.3]
        at org.apache.aries.cdi.container.internal.container.discovery.lambda$discover$8(discovery.java:133) ~[!/:1.1.3]
        at java.util.HashMap$Values.forEach(HashMap.java:981) ~[?:1.8.0_232]

这是我尝试加载的 Java 类:

package de.e_nexus.desktop.vr.ide;

import java.util.logging.Logger;

import javax.annotation.postconstruct;
import javax.annotation.PreDestroy;
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;

import org.osgi.service.cdi.annotations.Reference;
import org.osgi.service.cdi.annotations.Service;

import de.e_nexus.vr.server.ClientKeyboardScancode;
import de.e_nexus.vr.server.VRClientHelMetandControllerListener;
import de.e_nexus.vr.server.VRClientKeyboardListener;
import de.e_nexus.vr.server.VRServer;
import de.e_nexus.vr.server.listeners.VRClientRequestAppInfo;
import de.e_nexus.vr.server.listeners.VRClientStatusListener;
import de.e_nexus.vr.server.listeners.interaction.HelMetandControllerInfo;
import de.e_nexus.vr.server.osgi.inter.VRServerService;
import de.e_nexus.vr.tk.VRFrame;

@ApplicationScoped
@Service
public class StartIDE implements VRClientStatusListener,VRClientRequestAppInfo,VRClientHelMetandControllerListener,VRClientKeyboardListener {
    /**
     * The logger for this class.
     */
    private static final Logger LOG = Logger.getLogger(StartIDE.class.getCanonicalName());

    private final static Object lock = new Object();

    private VRServer vrServer;

    public void notifyStatus(boolean connected) {
        if (!connected) {
            synchronized (lock) {
                lock.notify();
            }
        }
    }

    @Reference
    @Inject
    private VRServerService vrServerService;

    private VRFrame applicationFrame;

    @postconstruct
    public void initialize() {
        LOG.fine("Starting VR IDE");
        vrServer = vrServerService.getVRServer();
        applicationFrame = new VRFrame(vrServer,"test");

        LOG.info(getlatin1Title() + " started successfully!");
    }

    @PreDestroy
    public void teardown() {
        applicationFrame.remove();
        LOG.info("Stoped " + getlatin1Title() + " successfully!");
        vrServer = null;
    }

    public VRServer getVrServer() {
        return vrServer;
    }

    @Override
    public void notify(HelMetandControllerInfo haci) {

    }

    @Override
    public String getlatin1Title() {
        return "VR IDE";
    }

    @Override
    public void notifyKeyboardEvent(ClientKeyboardScancode[] downs,ClientKeyboardScancode[] ups,long incomingTime) {
        System.out.println("me");
    }
}

VRServer-Codebase

VRToolkit-Codebase

VRIDE-Codebase


编辑:

这是完整的堆栈跟踪:

java.lang.NoClassDefFoundError: Lde/e_nexus/vr/tk/VRFrame;
        at java.lang.class.getDeclaredFields0(Native Method) ~[?:1.8.0_232]
        at java.lang.class.privateGetDeclaredFields(Class.java:2611) ~[?:1.8.0_232]
        at java.lang.class.getDeclaredFields(Class.java:1944) ~[?:1.8.0_232]
        at org.apache.aries.cdi.container.internal.util.Reflection.allFields(Reflection.java:47) ~[!/:1.1.3]
        at org.apache.aries.cdi.container.internal.annotated.AnnotatedTypeImpl.<init>(AnnotatedTypeImpl.java:42) ~[!/:1.1.3]
        at org.apache.aries.cdi.container.internal.container.discovery.lambda$discover$8(discovery.java:133) ~[!/:1.1.3]
        at java.util.HashMap$Values.forEach(HashMap.java:981) ~[?:1.8.0_232]
        at org.apache.aries.cdi.container.internal.container.discovery.discover(discovery.java:130) ~[!/:1.1.3]
        at org.apache.aries.cdi.container.internal.container.ContainerState.<init>(ContainerState.java:178) ~[!/:1.1.3]
        at org.apache.aries.cdi.container.internal.Activator.doCreateExtension(Activator.java:209) [!/:1.1.3]
        at org.apache.Felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:242) [!/:1.1.3]
        at org.apache.Felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) [!/:1.1.3]
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) [osgi.core-7.0.0.jar:?]
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) [osgi.core-7.0.0.jar:?]
        at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [osgi.core-7.0.0.jar:?]
        at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) [osgi.core-7.0.0.jar:?]
        at org.apache.Felix.framework.Eventdispatcher.invokeBundleListenerCallback(Eventdispatcher.java:915) [org.apache.Felix.framework-6.0.3.jar:?]
        at org.apache.Felix.framework.Eventdispatcher.fireEventImmediately(Eventdispatcher.java:834) [org.apache.Felix.framework-6.0.3.jar:?]
        at org.apache.Felix.framework.Eventdispatcher.fireBundleEvent(Eventdispatcher.java:516) [org.apache.Felix.framework-6.0.3.jar:?]
        at org.apache.Felix.framework.Felix.fireBundleEvent(Felix.java:4817) [org.apache.Felix.framework-6.0.3.jar:?]
        at org.apache.Felix.framework.Felix.startBundle(Felix.java:2336) [org.apache.Felix.framework-6.0.3.jar:?]
        at org.apache.Felix.framework.BundleImpl.start(BundleImpl.java:998) [org.apache.Felix.framework-6.0.3.jar:?]
        at org.apache.Felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [!/:3.6.8]
        at org.apache.Felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [!/:3.6.8]
        at org.apache.Felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520) [!/:3.6.8]
        at org.apache.Felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [!/:3.6.8]
        at org.apache.Felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [!/:3.6.8]
Caused by: java.lang.classNotFoundException: de.e_nexus.vr.tk.VRFrame not found by de.e-nexus.component [87]
        at org.apache.Felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1597) ~[?:?]
        at org.apache.Felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79) ~[?:?]
        at org.apache.Felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1982) ~[?:?]
        at java.lang.classLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_232]
        at org.apache.Felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1375) ~[?:?]
        at org.apache.Felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1618) ~[?:?]
        at org.apache.Felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1548) ~[?:?]
        at org.apache.Felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79) ~[?:?]
        at org.apache.Felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1982) ~[?:?]
        at java.lang.classLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_232]
        ... 27 more

解决方法

由于记录点出:

Caused by: java.lang.ClassNotFoundException: de.e_nexus.vr.tk.VRFrame not found by de.e-nexus.component [87]

什么装置Karaf从部件子模块,这显然不存在搜索VRFrame。

这是很有意义的,因为所有的Java包出口,所述VRFrame的包是不明确的。我跟着什么Özkan的pakdil说,并改名为Java的包为唯一的名称。因为,它就像一个魅力。

谢谢厄兹坎!你的回答包含了一些有用的提示和我的问题的根源是不明确的包名。

,

项目中的主要问题是maven-bundle-plugin中的<extensions>true</extensions>。你需要在你的 pom.xml 中有它。示例代码

<plugin>
    <groupId>org.apache.felix</groupId>
    <artifactId>maven-bundle-plugin</artifactId>
    <version>5.1.1</version>
    <extensions>true</extensions>
    <configuration>
        <instructions>
            <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
            <Bundle-Version>${project.version}</Bundle-Version>
            <Bundle-Activator>${Bundle-Activator}</Bundle-Activator>
            <Export-Package>
                de.*;version=${project.version}
            </Export-Package>
            <Import-Package>
                *
            </Import-Package>
        </instructions>
    </configuration>
</plugin>

对于 OSGI 包,打包应该像 <packaging>bundle</packaging> 这样的包。你可以看到这个命令是如何创建包的

mvn archetype:generate \
    -DarchetypeGroupId=org.apache.karaf.archetypes \
    -DarchetypeArtifactId=karaf-bundle-archetype \
    -DarchetypeVersion=4.3.0 \
    -DgroupId=io.github.ozkanpakdil \
    -DartifactId=myfirstbundle \
    -Dversion=1.0-SNAPSHOT \
    -Dpackage=io.github.ozkanpakdil

https://karaf.apache.org/manual/latest/#_creating_bundles 解释得很好。除此之外,我强烈建议使用不带下划线的命名空间。而不是“e_nexus”有enexus,对于<groupId>de.e-nexus</groupId><groupId>de.enexus</groupId>。最后但并非最不重要的不是 <artifactId>vr.server</artifactId><artifactId>vrserver</artifactId>,我建议这些是因为 OSGI 已经是复杂的环境,使用简单易懂的名称将更容易捕获错误和维护代码。它还可以防止在您迁移到另一个操作系统时出现问题,您永远不知道这些操作系统之间的行为如何。

有一些与相同命名空间在不同 jars 中相关的警告,我相应地更改了“框架”和“组件”模块中的代码。下面是本地的日志,我可以看到VR-Client的日志,我认为它开始按预期工作了。

ozkan@DESKTOP-NF90OD6 MINGW64 /c/Program Files/apache-karaf-4.3.0/bin
$ ./karaf
        __ __                  ____
       / //_/____ __________ _/ __/
      /,<  / __ `/ ___/ __ `/ /_
     / /| |/ /_/ / /  / /_/ / __/
    /_/ |_|\__,_/_/   \__,_/_/

  Apache Karaf (4.3.0)

Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown Karaf.

Start Osgi spiced VR Server ... [OK]  @10:23 (You might get asked by the firewall if you like to allow java to communicate to other systems. In order to connect the local VR-Client you are requested to grant the communication.)
karaf@root()> bundle:list
START LEVEL 100,List Threshold: 50
ID | State    | Lvl | Version            | Name
---+----------+-----+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------
31 | Active   |  80 | 4.3.0              | Apache Karaf :: OSGi Services :: Event
55 | Active   |  80 | 1.0.0              | Virtual reality server
56 | Active   |  80 | 0.0.1.SNAPSHOT     | VRComponent
57 | Active   |  80 | 0.0.1.SNAPSHOT     | VRFrame
58 | Active   |  80 | 1.3.2              | Apache Aries SPI Fly Dynamic Weaving Bundle
59 | Active   |  80 | 9.0.0              | org.objectweb.asm
60 | Active   |  80 | 9.0.0              | org.objectweb.asm.commons
61 | Active   |  80 | 9.0.0              | org.objectweb.asm.tree
62 | Active   |  80 | 9.0.0              | org.objectweb.asm.tree.analysis
63 | Active   |  80 | 9.0.0              | org.objectweb.asm.util
64 | Active   |  80 | 2.0.17             | OpenWebBeans Core
65 | Active   |  80 | 2.0.17             | SPI definition
66 | Active   |  80 | 1.1.3              | Apache Aries CDI - CDI Component Runtime (CCR)
67 | Active   |  80 | 1.1.3              | Apache Aries CDI - SPI classes for Portable Extensions
68 | Active   |  80 | 1.1.3              | Apache Aries CDI - Container using Apache OpenWebBeans
69 | Active   |  80 | 1.1.3              | Apache Aries CDI - SPI
70 | Active   |  80 | 1.0.12             | Apache Felix Converter
71 | Active   |  80 | 1.2.0              | Apache Geronimo JSR-330 Spec 1.0
72 | Active   |  80 | 1.1.0              | Apache Geronimo Expression Language Spec 2.2
73 | Active   |  80 | 1.2.0              | Apache Geronimo Interceptor Spec 1.2
74 | Active   |  80 | 1.2.0              | Apache Geronimo JCDI Spec 2.0
75 | Active   |  80 | 1.3.0.3            | Apache ServiceMix :: Specs :: Annotation API 1.3
76 | Active   |  80 | 4.17.0             | Apache XBean :: ASM shaded (repackaged)
77 | Active   |  80 | 4.17.0             | Apache XBean OSGI Bundle Utilities
78 | Active   |  80 | 4.17.0             | Apache XBean :: Finder shaded (repackaged)
79 | Active   |  80 | 1.0.1.201505202024 | org.osgi:org.osgi.namespace.extender
80 | Active   |  80 | 1.0.0.201505202024 | org.osgi:org.osgi.namespace.implementation
81 | Active   |  80 | 1.0.0.201505202024 | org.osgi:org.osgi.namespace.service
82 | Active   |  80 | 1.0.0.201810101357 | org.osgi:org.osgi.service.cdi
83 | Active   |  80 | 1.1.0.201802012106 | org.osgi:org.osgi.util.function
84 | Active   |  80 | 1.1.0.201802012106 | org.osgi:org.osgi.util.promise
85 | Resolved |  80 | 4.3.1.SNAPSHOT     | Apache Karaf :: OSGi Services :: Event
86 | Active   |  80 | 0.0.1.SNAPSHOT     | Virtual reality integrated development environment (VRIDE)
karaf@root()> log:display
10:23:10.508 INFO [activator-1-thread-2] Registering commands for bundle org.apache.karaf.log.core/4.3.0
10:23:10.821 INFO [activator-1-thread-2] Deployment finished. Registering FeatureDeploymentListener
10:23:10.821 INFO [activator-1-thread-2] Registering commands for bundle org.apache.karaf.features.command/4.3.0
10:23:10.828 INFO [activator-1-thread-3] Registering commands for bundle org.apache.karaf.kar.core/4.3.0
10:23:10.855 INFO [FelixStartLevel] Command registration delayed for bundle org.apache.karaf.shell.ssh/4.3.0. Missing service: [org.apache.sshd.server.SshServer]
10:23:10.871 INFO [FelixStartLevel] Registering commands for bundle org.apache.karaf.system.core/4.3.0
10:23:10.893 INFO [FelixStartLevel] Registering commands for bundle org.apache.karaf.event/4.3.0
10:23:11.089 INFO [activator-1-thread-1] Registering commands for bundle org.apache.karaf.shell.ssh/4.3.0
10:23:11.128 INFO [activator-1-thread-1] No detected/configured IoServiceFactoryFactory using Nio2ServiceFactoryFactory
10:23:12.346 INFO [activator-1-thread-1] Registering org.osgi.jmx.framework.PackageStateMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@a766065 with name osgi.core:type=packageState,version=1.5,framework=org.apache.felix.framework,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.346 INFO [activator-1-thread-1] Registering org.osgi.jmx.framework.wiring.BundleWiringStateMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@a766065 with name osgi.core:type=wiringState,version=1.1,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.346 INFO [activator-1-thread-1] Registering org.osgi.jmx.framework.BundleStateMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@a766065 with name osgi.core:type=bundleState,version=1.7,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.351 INFO [activator-1-thread-1] Registering org.osgi.jmx.framework.ServiceStateMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@a766065 with name osgi.core:type=serviceState,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.352 INFO [activator-1-thread-1] Registering org.osgi.jmx.framework.FrameworkMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@a766065 with name osgi.core:type=framework,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.353 INFO [activator-1-thread-1] Registering org.osgi.jmx.service.cm.ConfigurationAdminMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@a766065 with name osgi.compendium:service=cm,version=1.3,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.388 INFO [activator-1-thread-1] Unregistering org.osgi.jmx.framework.PackageStateMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@a766065 with name osgi.core:type=packageState,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.389 INFO [activator-1-thread-1] Unregistering org.osgi.jmx.framework.wiring.BundleWiringStateMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@a766065 with name osgi.core:type=wiringState,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.390 INFO [activator-1-thread-1] Unregistering org.osgi.jmx.framework.BundleStateMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@a766065 with name osgi.core:type=bundleState,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.390 INFO [activator-1-thread-1] Unregistering org.osgi.jmx.framework.ServiceStateMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@a766065 with name osgi.core:type=serviceState,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.391 INFO [activator-1-thread-1] Unregistering org.osgi.jmx.framework.FrameworkMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@a766065 with name osgi.core:type=framework,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.392 INFO [activator-1-thread-1] Unregistering org.osgi.jmx.service.cm.ConfigurationAdminMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@a766065 with name osgi.compendium:service=cm,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.394 WARN [activator-1-thread-1] Task rejected for JMX Notification dispatch of event [org.osgi.framework.ServiceEvent[source=[javax.management.MBeanServer]]] - Dispatcher may have been shutdown
10:23:12.420 INFO [activator-1-thread-1] Registering org.osgi.jmx.framework.PackageStateMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@4a85005 with name osgi.core:type=packageState,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.421 INFO [activator-1-thread-1] Registering org.osgi.jmx.framework.wiring.BundleWiringStateMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@4a85005 with name osgi.core:type=wiringState,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.422 INFO [activator-1-thread-1] Registering org.osgi.jmx.framework.BundleStateMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@4a85005 with name osgi.core:type=bundleState,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.423 INFO [activator-1-thread-1] Registering org.osgi.jmx.framework.ServiceStateMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@4a85005 with name osgi.core:type=serviceState,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.423 INFO [activator-1-thread-1] Registering org.osgi.jmx.framework.FrameworkMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@4a85005 with name osgi.core:type=framework,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3
10:23:12.424 INFO [activator-1-thread-1] Registering org.osgi.jmx.service.cm.ConfigurationAdminMBean to MBeanServer org.apache.karaf.management.internal.EventAdminMBeanServerWrapper@4a85005 with name osgi.compendium:service=cm,uuid=1ba06c85-21b1-4145-9726-b08a81b6cad3


版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?