【发布时间】:2010-12-08 09:39:48
【问题描述】:
我正在尝试反序列化位于插件 C 中的 A 类型对象。
虽然我的插件对具有 A 类型的插件 C 具有适当的依赖关系,并且还可以创建和实例化 A 类型的对象,但当我尝试对 A 类型的对象进行非理想化时,它会失败。
我相信的原因是实际进行反序列化的 java.io.* 类看不到类型 A。
我必须在插件 C 的清单中添加什么,以便系统类可以看到类型 A?
这是我得到的堆栈跟踪-
java.lang.ClassNotFoundException: com.chronon.sb.debug.model.TimeAndEventData 在 org.eclipse.osgi.internal.loader.BundleLoader.findClassInnal(BundleLoader.java:494) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:410) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:398) 在 org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:105) 在 java.lang.ClassLoader.loadClass(未知来源) 在 java.lang.ClassLoader.loadClassInternal(未知来源) 在 java.lang.Class.forName0(本机方法) 在 java.lang.Class.forName(未知来源) 在 java.io.ObjectInputStream.resolveClass(未知来源) 在 java.io.ObjectInputStream.readNonProxyDesc(未知来源) 在 java.io.ObjectInputStream.readClassDesc(未知来源) 在 java.io.ObjectInputStream.readOrdinaryObject(未知来源) 在 java.io.ObjectInputStream.readObject0(未知来源) 在 java.io.ObjectInputStream.readObject(未知来源) 在 com.chronon.sb.recorder.commons.CompressorUtil.decompressObj ect(CompressorUtil.java:53) 在 com.chronon.sb.recorder.commons.CompressorUtil.decompressObj (CompressorUtil.java:36) 在 com.chronon.sb.debug.core.dbManagers.Events.createBlock(甚至 ts.java:134) 在 com.chronon.sb.debug.core.dbManagers.Events.getThreadForTime (Events.java:108) 在 com.chronon.sb.debug.core.helpers.MethodCallHelper.(MethodCallHelper.java:62) 在 com.chronon.sb.debug.core.helpers.MiscHelper.getVeryFirstMet hod(MiscHelper.java:22) 在 com.placid.sb.browser.ui.startbrowse.StartBrowseJob$1.run(StartBrowseJob.java:86) 在 org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5) 在 org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:134) 在 org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java a:3855) 在 org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3476) 在 org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2405) 在 org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369) 在 org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 21) 在 org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500) 在 org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:332) 在 org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:493) 在 org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149) 在 org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113) 在 org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:194) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:368) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源) 在 java.lang.reflect.Method.invoke(未知来源) 在 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559) 在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) 在 org.eclipse.equinox.launcher.Main.run(Main.java:1311) 在 org.eclipse.equinox.launcher.Main.main(Main.java:1287)
【问题讨论】:
标签: serialization eclipse-plugin classpath osgi