【发布时间】:2015-10-26 09:56:30
【问题描述】:
我的 osgi 项目的另一个问题。我得到这个错误代码:
!会话 2015-10-26 10:50:01.671 ----------------------------------------------------------- eclipse.buildId =未知 java.version=1.8.0_60 java.vendor=Oracle 公司 BootLoader 常量:OS=win32, ARCH=x86_64, WS=win32, NL=de_DE 命令行参数:-dev 文件:C:/Users/Dennis/workspace/.metadata/.plugins/org.eclipse.pde.core/delicomFirstOSGIPlugin/dev.properties -os win32 -ws win32 -arch x86_64 -consoleLog -console
!ENTRY de.delicom.testosgi 4 0 2015-10-26 10:50:02.318 !MESSAGE FrameworkEvent 错误!堆栈 0 org.osgi.framework.BundleException: 加载捆绑激活器时出错。在 org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:711) 在 org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:941) 在 org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:318) 在 org.eclipse.osgi.container.Module.doStart(Module.java:571) 在 org.eclipse.osgi.container.Module.start(Module.java:439) 在 org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582) 在 org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1562) 在 org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533) 在 org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476) 在 org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.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.ClassNotFoundException: de.delicom.testosgi.Activator.java 找不到 de.delicom.testosgi_1.0.0.qualifier 在 org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:439) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344) 在 org.eclipse.osgi.internal.framework.BundleContextImpl.loadBundleActivator(BundleContextImpl.java:754) 在 org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:706) ... 11 更多根异常:java.lang.ClassNotFoundException: de.delicom.testosgi.Activator.java 找不到 de.delicom.testosgi_1.0.0.qualifier 在 org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:439) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344) 在 org.eclipse.osgi.internal.framework.BundleContextImpl.loadBundleActivator(BundleContextImpl.java:754) 在 org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:706) 在 org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:941) 在 org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:318) 在 org.eclipse.osgi.container.Module.doStart(Module.java:571) 在 org.eclipse.osgi.container.Module.start(Module.java:439) 在 org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582) 在 org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1562) 在 org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533) 在 org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476) 在 org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) 在 org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) 在 org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
!ENTRY org.eclipse.osgi 4 0 2015-10-26 10:50:02.322 !MESSAGE 包 de.delicom.testosgi_1.0.0.qualifier [11] 未激活。
我的清单看起来像:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Testosgi
Bundle-SymbolicName: de.delicom.testosgi
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: de.delicom.testosgi.Activator
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: org.osgi.framework;version="1.3.0"
Bundle-ClassPath: . ,
soapui-4.0.1.0.jar,
xmlbeans-2.6.0.jar,
xmlbeans-xpath-2.6.0.jar,
src/
Bundle-ActivationPolicy: lazy
我添加到 Buildpath 和 Classpath 的外部 jar。它们也在引用的库中。
有人有想法吗?谢谢
【问题讨论】:
-
"java.lang.ClassNotFoundException: de.delicom.testosgi.Activator.java " 为什么里面写着“.java”?应该只是一个类名。您发布的清单似乎还可以。也许旧版本仍在部署/缓存?
-
这是我第一次安装 osgi。我还收到“java.lang.IllegalStateException:尚未创建工作台”。错误。你知道那里发生了什么吗?我不知道为什么里面有“.java”。
-
在所有文件中搜索“Activator.java”。
-
是的,我的工作空间的 src 文件夹中有一个 Activator.java 文件。抱歉,我是 osgi 的菜鸟:/
标签: java eclipse osgi soapui manifest.mf