2009-10-20 4 views
1

Я пытаюсь desrialize объекта типа A, расположенным в плагине C.Положив плагин Eclipse, на пути к классам системы

Хотя мой плагин имеет правильную зависимость от плагина С, который имеет типа A, а также может создавать и создавать экземпляр объекта типа A, когда я пытаюсь десарализовать объект типа A, он терпит неудачу.

Причина я считаю, что java.io. * классы, которые фактически делают десериализации не может увидеть тип A.

Что я должен поставить в манифесте плагина C, так что система классов может см. тип A?

Вот трассировки стека Я getting-

java.lang.ClassNotFoundException: com.chronon.sb.debug.model.TimeAndEventData на org.eclipse.osgi.internal.loader.BundleLoader. findClassInter nal (BundleLoader.java:494) at org.eclipse.osgi.internal.loader.BundleLoader.findClass (Bund leLoader.java:410) at org.eclipse.osgi.internal.loader.BundleLoader.findClass (Bund leLoader .java: 398) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass (DefaultClassLoader.java:105) at java.lang.ClassLoader.loadClass (Неизвестный источник) на java.lang.ClassLoader.loadClassInternal (Неизвестный источник) на java.lang.Class.forName0 (собственный метод) на java.lang.Class.forName (Неизвестный источник) на java.io.ObjectInputStream.resolveClass (Неизвестно Источник) на java.io.ObjectInputStream.readNonProxyDesc (Unknown Source) в java.io.ObjectInputStream.readClassDesc (Unknown Source) в java.io.ObjectInputStream.readOrdinaryObject (Unknown Source) в java.io.ObjectInputStream.readObject0 (Неизвестный источник) at java.io.ObjectInputStream.readObject (Неизвестный источник) на com.chronon.sb.recorder.commons.CompressorUtil.decompressObj ect (CompressorUtil.java:53) на com.chronon.sb.recorder. commons.CompressorUtil.decompressObj (Compres sorUtil.java:36) at com.chronon.sb.debug.core.dbManagers.Events.createBlock (Even ts.java:134) at com.chronon.sb.debug.core.dbManagers.Events.getThreadForTime (события .java: 108) at com.chronon.sb.debug.core.helpers.MethodCallHelper. (MethodCallHelper.java:62) at com.chronon.sb.debug.core.helpers.MiscHelper.getVeryFirstMet hod (MiscHelper.java : 22) at com.placid.sb.browser.ui.startbrowse.StartBrowseJob $ 1.run (St artBrowseJob.java:86) at org.eclipse.swt.widgets.RunnableLock.run (RunnableLock.java:3 5) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages (Synchr onizer.java:134) at org.eclipse.swt.widgets.Display.runAsyncMessages (Display.jav a: 3855) at org.eclipse.swt. widgets.Display.readAndDispatch (Display.ja va: 3476) at org.eclipse.ui.internal.Workbench.runEventLoop (Workbench.jav a: 2405) at org.eclipse.ui.internal.Workbench.runUI (Workbench.java:2369) at org.eclipse .ui.internal.Workbench.access $ 4 (Workbench.java:22 21) at org.eclipse.ui.internal.Workbench $ 5.run (Workbench.java:500) на org.eclipse.core.databinding.observable. Realm.runWithDefault (Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Work bench.java:493) на org.eclipse.ui.PlatformUI.createAndRunWorkbench (PlatformUI.j ava: 149) at org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113) at 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 (затмения tarter.java:368) в org.eclipse.core.runtime.adaptor.EclipseStarter.run (затмения tarter.java:179) на sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) на солнце .reflect.NativeMethodAccessorImpl.invoke (Неизвестный источник) at 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:5 14) на org.eclipse.equinox.launcher.Main.run (Main.java:1311) в org.eclipse.equinox.launcher.Main.main (Main.java:1287)

ответ

1

Читайте на почтовых загрузчиках классов (более подробная информация - here, особенно раздел о встроенных политиках приятеля).

Короткий ответ: вам нужен MANIFEST-запись

Eclipse-BuddyPolicy: boot 

 Смежные вопросы

  • Нет связанных вопросов^_^