【问题标题】:OSGI can't find restlet classOSGI 找不到 restlet 类
【发布时间】:2012-08-26 21:32:43
【问题描述】:

大家好 我刚刚遇到一个问题:OSGI 无法启动,因为它找不到类:org/restlet/engine/adapter/HttpServerHelper 但我已将它添加到任何地方(src、import-packes、plugins),但仍然出现此错误,任何人都可以帮助我吗?!谢谢

!MESSAGE 框架事件错误 !STACK 0 org.osgi.framework.BundleException: 激活器 XXX.Activator 用于 捆绑 XXXX 无效 org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:171) 在 org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:679) 在 org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) 在 org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389) 在 org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1131) 在 org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559) 在 org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544) 在 org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457) 在 org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243) 在 org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438) 在 org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1) 在 org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) 在 org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) 引起:java.lang.NoClassDefFoundError: org/restlet/engine/adapter/HttpServerHelper 在 java.lang.ClassLoader.defineClass1(本机方法)在 java.lang.ClassLoader.defineClass(未知来源)在 org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188) 在 org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:601) 在 org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:567) 在 org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:490) 在 org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassName(ClasspathManager.java:469) 在 org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:456) 在 org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216) 在 org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400) 在 org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:473) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) 在 org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 在 java.lang.ClassLoader.loadClass(Unknown Source) 在 java.lang.Class.getDeclaredConstructors0(Native Method) 在 java.lang.Class.privateGetDeclaredConstructors(未知来源)在 java.lang.Class.getConstructor0(未知来源)在 java.lang.Class.newInstance0(未知来源)在 java.lang.Class.newInstance(未知来源)在 org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:166) ... 12 更多原因:java.lang.ClassNotFoundException: org.restlet.engine.adapter.HttpServerHelper 在 org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) 在 org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 在 java.lang.ClassLoader.loadClass(Unknown Source) ... 34 更多

【问题讨论】:

    标签: eclipse jetty osgi restlet


    【解决方案1】:

    可能你的包没有导入包org.restlet.engine.adapter

    【讨论】:

    • 是的,但我确实在我的“Imported_Packages”中添加了包:在我的“插件依赖项”中显示:D:\Eclipse3.7\plugins\org.restlet_2.1.0.snapshot-v20111127 -2200.jar"
    • 我不这么认为,你的MANIFEST.MF 长什么样子?
    • 你的 Restlet 版本的 OSGi 看起来有点旧,你能用 2.1 RC6 再试一次吗?
    猜你喜欢
    • 2015-03-27
    • 2020-12-21
    • 2015-07-20
    • 1970-01-01
    • 1970-01-01
    • 2015-03-27
    • 2015-07-19
    • 2018-04-22
    • 2011-06-18
    相关资源
    最近更新 更多