Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [dsdp-ercp-dev] java.lang.NoClassDefFoundError


Note that a recent change in eRCP has the org.eclipse.ui plugin re-exporting SWT and JFace packages. So your plugin was working on the development runtime that has this change but not on the device runtime which probably doesn't.

Also note, that making an eRCP plugin a "required plugin" will work on device runtimes which always include eRCP specific plugins. However, your app with such a dependency would not run on a RCP runtime which provides the full org.eclipse.jface plugin.  You are better off putting package dependencies in your manifest, rather using "required plugin".

                Mark



"Edgar Camacho" <edgar@xxxxxxxxxxxxxxxxx>
Sent by: dsdp-ercp-dev-bounces@xxxxxxxxxxx

02/11/2008 02:59 AM

Please respond to
DSDP ercp list <dsdp-ercp-dev@xxxxxxxxxxx>

To
"DSDP ercp list" <dsdp-ercp-dev@xxxxxxxxxxx>
cc
Subject
Re: [dsdp-ercp-dev] java.lang.NoClassDefFoundError





HI DANAIL,
HO! SORRY, I MAKE A MISTAKE SENDING LAST EMAIL

AS I SAID, YOUR HELP WAS VERY USEFUL, BECOUSE ACTUALLY
I GET SOLVED THE PROBLEM:

THE ACTION TAKEN WAS, CHANGE THE PLUGIN DEPENDENCIES FROM:
          org.eclipse.core.runtime
          org.eclipse.ui
   TO
          org.eclipse.core.runtime
          org.eclipse.ui
          org.eclipse.ercp.jface

AND NOW IT'S WORKING.
AS YOU SAID, IT REQUIRES THE USE OF JFACE PLUGIN.
THANKS VERY MUCH !

EDGAR.

On Feb 11, 2008 1:04 AM, Danail Nachev <d.nachev@xxxxxxxxxx> wrote:
> Hi, Edgar
>
> Does your bundle import the required JFace packages or require the JFace
> bundle? It seems that your bundle cannot load the JFace classes, however
> it is strange because you succeeded in compiling it.
>
> BR,
> Danail
>
>
> Edgar Camacho wrote:
> > Hello !,
> >
> >    I'm getting the following error (full log at the end):
> > -----------------------------------------------[ BEGIN
> > ERROR-1]------------------------------------------
> > !ENTRY org.eclipse.equinox.registry 4 1 2008-02-10 03:25:02.765
> > !MESSAGE Unable to create view ID com.tk.m.views.normal: Plug-in
> > com.tk.m was unable to load class com.tk.m.views.NormalView.
> > !STACK 0
> > java.lang.NoClassDefFoundError: org.eclipse.jface.viewers.IOpenListener
> >       at java.lang.ClassLoader.defineClassImpl(Native Method)
> > -----------------------------------------------[ END
> > ERROR-1]------------------------------------------
> >
> > but actually such class exists and is included in my plugin.
> >
> >    I'm using Nokia S80 Platform on a Nokia 9300i Device. And eRCP 1.0.2
> > (I love eclipse platform,
> > I wonder if my device is still compatible
> > with the current development version of eRCP?)
> >
> > Additionally the following error is in the log, and I don't have idea why:
> > ---------------------------------------------[BEGIN
> > ERROR-2]-----------------------------
> > !ENTRY org.eclipse.equinox.registry 4 1 2008-02-10 03:25:02.765
> > !MESSAGE Unable to create view ID com.tk.m.views.normal: Plug-in
> > com.tk.m was unable to load class com.tk.m.views.NormalView.
> > !STACK 0
> > java.lang.NoClassDefFoundError: org.eclipse.jface.viewers.IOpenListener
> >       at java.lang.ClassLoader.defineClassImpl(Native Method)
> > ---------------------------------------------[END
> > ERROR-2]----------------------------------------------
> >
> > I already try cleanning my eRCP/configuration directory (but keeping
> > the config.ini file), and cleanning all my proyect and rebuilding
> > but nothing works. I also do a very carefully check about right id
> > names and classes. But still not working.
> >
> > The full log is the following is the full log: (and also I include the
> > config.ini file) Thanks !!!!
> >
> > ---------------------------------------------[ BEGIN
> > eRCP/workspace/.metadata/.log
> > ]------------------------------------------------------
> > !SESSION 2008-02-10 03:22:56.968 -----------------------------------------------
> > eclipse.buildId=eRCP-v20060822
> > java.fullversion=IBM J9 2.2 EPOC32 arm-32
> > BootLoader constants: OS=unknown, ARCH=arm, WS=unknown, NL=es___
> > Framework arguments:  -application org.eclipse.ercp.eworkbench.eWorkbench
> > Command-line arguments:  -application
> > org.eclipse.ercp.eworkbench.eWorkbench -console
> >
> > !ENTRY org.eclipse.osgi 2 1 2008-02-10 03:23:51.093
> > !MESSAGE NLS unused message: BaseSiteFactory_CannotEncodeURL in:
> > org.eclipse.update.internal.core.messages
> >
> > !ENTRY system.bundle 4 0 2008-02-10 03:23:54.203
> > !MESSAGE FrameworkEvent.ERROR
> > !STACK 0
> > java.io.IOException: Could not save file table.
> >       at org.eclipse.osgi.storagemanager.StorageManager.save(Unknown Source)
> >       at org.eclipse.osgi.storagemanager.StorageManager.update(Unknown Source)
> >       at org.eclipse.osgi.storagemanager.StorageManager.closeOutputStream(Unknown
> > Source)
> >       at org.eclipse.osgi.storagemanager.ManagedOutputStream.close(Unknown Source)
> >       at java.io.FilterOutputStream.close(Unknown Source)
> >       at java.io.FilterOutputStream.close(Unknown Source)
> >       at org.eclipse.osgi.internal.baseadaptor.BaseStorage.saveBundleDatas(Unknown
> > Source)
> >       at org.eclipse.osgi.internal.baseadaptor.BaseStorage.saveAllData(Unknown
> > Source)
> >       at org.eclipse.osgi.internal.baseadaptor.BaseStorage.access$1(Unknown Source)
> >       at org.eclipse.osgi.internal.baseadaptor.BaseStorage$StateSaver.run(Unknown
> > Source)
> >       at java.lang.Thread.run(Unknown Source)
> >
> > !ENTRY system.bundle 4 0 2008-02-10 03:23:55.531
> > !MESSAGE FrameworkEvent.ERROR
> > !STACK 0
> > java.io.IOException: Could not save file table.
> >       at org.eclipse.osgi.storagemanager.StorageManager.save(Unknown Source)
> >       at org.eclipse.osgi.storagemanager.StorageManager.add(Unknown Source)
> >       at org.eclipse.osgi.storagemanager.StorageManager.add(Unknown Source)
> >       at org.eclipse.osgi.storagemanager.StorageManager.lookup(Unknown Source)
> >       at org.eclipse.osgi.internal.baseadaptor.BaseStorage.saveStateData(Unknown
> > Source)
> >       at org.eclipse.osgi.internal.baseadaptor.BaseStorage.saveAllData(Unknown
> > Source)
> >       at org.eclipse.osgi.internal.baseadaptor.BaseStorage.access$1(Unknown Source)
> >       at org.eclipse.osgi.internal.baseadaptor.BaseStorage$StateSaver.run(Unknown
> > Source)
> >       at java.lang.Thread.run(Unknown Source)
> >
> > !ENTRY org.eclipse.equinox.registry 4 1 2008-02-10 03:25:02.765
> > !MESSAGE Unable to create view ID com.tk.m.views.normal: Plug-in
> > com.tk.m was unable to load class com.tk.m.views.NormalView.
> > !STACK 0
> > java.lang.NoClassDefFoundError: org.eclipse.jface.viewers.IOpenListener
> >       at java.lang.ClassLoader.defineClassImpl(Native Method)
> >       at java.lang.ClassLoader.defineClass(Unknown Source)
> >       at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(Unknown
> > Source)
> >       at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Unknown
> > Source)
> >       at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Unknown
> > Source)
> >       at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(Unknown
> > Source)
> >       at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(Unknown
> > Source)
> >       at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(Unknown
> > Source)
> >       at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(Unknown
> > Source)
> >       at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(Unknown
> > Source)
> >       at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(Unknown
> > Source)
> >       at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(Unknown
> > Source)
> >       at java.lang.ClassLoader.loadClass(Unknown Source)
> >       at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(Unknown
> > Source)
> >       at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(Unknown
> > Source)
> >       at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(Unknown
> > Source)
> >       at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(Unknown
> > Source)
> >       at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(Unknown
> > Source)
> >       at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(Unknown
> > Source)
> >       at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(Unknown
> > Source)
> >       at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(Unknown Source)
> >       at org.eclipse.ui.internal.registry.ViewDescriptor.createView(Unknown Source)
> >       at org.eclipse.ui.internal.ViewFactory.busyRestoreViewHelper(Unknown Source)
> >       at org.eclipse.ui.internal.ViewFactory.busyRestoreView(Unknown Source)
> >       at org.eclipse.ui.internal.ViewFactory.restoreView(Unknown Source)
> >       at org.eclipse.ui.internal.Perspective.showView(Unknown Source)
> >       at org.eclipse.ui.internal.WorkbenchPage.busyShowView(Unknown Source)
> >       at org.eclipse.ui.internal.WorkbenchPage.showView(Unknown Source)
> >       at org.eclipse.ui.internal.WorkbenchPage.showView(Unknown Source)
> >       at org.eclipse.ercp.eworkbench.DefaultView.launchSelection(Unknown Source)
> >       at org.eclipse.ercp.eworkbench.DefaultView.open(Unknown Source)
> >       at org.eclipse.jface.viewers.StructuredViewer$2.run(Unknown Source)
> >       at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
> >       at org.eclipse.core.runtime.Platform.run(Unknown Source)
> >       at org.eclipse.ui.internal.JFaceUtil$1.run(Unknown Source)
> >       at org.eclipse.jface.util.SafeRunnable.run(Unknown Source)
> >       at org.eclipse.jface.viewers.StructuredViewer.fireOpen(Unknown Source)
> >       at org.eclipse.jface.viewers.StructuredViewer.handleOpen(Unknown Source)
> >       at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(Unknown Source)
> >       at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(Unknown Source)
> >       at org.eclipse.jface.util.OpenStrategy.access$2(Unknown Source)
> >       at org.eclipse.jface.util.OpenStrategy$1.handleEvent(Unknown Source)
> >       at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
> >       at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
> >       at org.eclipse.swt.widgets.Widget.internal_sendEvent(Unknown Source)
> >       at org.eclipse.swt.internal.symbian.OS.Display_ReadAndDispatch(Native Method)
> >       at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
> >       at org.eclipse.ui.internal.Workbench.runEventLoop(Unknown Source)
> >       at org.eclipse.ui.internal.Workbench.runUI(Unknown Source)
> >       at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Unknown Source)
> >       at org.eclipse.ui.PlatformUI.createAndRunWorkbench(Unknown Source)
> >       at org.eclipse.ercp.eworkbench.eWorkbench.run(Unknown Source)
> >       at org.eclipse.core.internal.runtime.PlatformActivator$1.run(Unknown Source)
> >       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown
> > Source)
> >       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown
> > Source)
> >       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
> >       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
> >       at java.lang.reflect.AccessibleObject.invokeL(Unknown Source)
> >       at java.lang.reflect.Method.invoke(Unknown Source)
> >       at org.eclipse.core.launcher.Main.invokeFramework(Unknown Source)
> >       at org.eclipse.core.launcher.Main.basicRun(Unknown Source)
> >       at org.eclipse.core.launcher.Main.run(Unknown Source)
> >       at org.eclipse.core.launcher.Main.main(Unknown Source)
> >
> > !ENTRY org.eclipse.ercp.jface 4 2 2008-02-10 03:25:02.875
> > !MESSAGE Problems occurred when invoking code from plug-in:
> > "org.eclipse.ercp.jface".
> > !STACK 0
> > java.lang.NullPointerException
> >       at org.eclipse.ui.internal.Perspective.showView(Unknown Source)
> >       at org.eclipse.ui.internal.WorkbenchPage.busyShowView(Unknown Source)
> >       at org.eclipse.ui.internal.WorkbenchPage.showView(Unknown Source)
> >       at org.eclipse.ui.internal.WorkbenchPage.showView(Unknown Source)
> >       at org.eclipse.ercp.eworkbench.DefaultView.launchSelection(Unknown Source)
> >       at org.eclipse.ercp.eworkbench.DefaultView.open(Unknown Source)
> >       at org.eclipse.jface.viewers.StructuredViewer$2.run(Unknown Source)
> >       at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
> >       at org.eclipse.core.runtime.Platform.run(Unknown Source)
> >       at org.eclipse.ui.internal.JFaceUtil$1.run(Unknown Source)
> >       at org.eclipse.jface.util.SafeRunnable.run(Unknown Source)
> >       at org.eclipse.jface.viewers.StructuredViewer.fireOpen(Unknown Source)
> >       at org.eclipse.jface.viewers.StructuredViewer.handleOpen(Unknown Source)
> >       at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(Unknown Source)
> >       at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(Unknown Source)
> >       at org.eclipse.jface.util.OpenStrategy.access$2(Unknown Source)
> >       at org.eclipse.jface.util.OpenStrategy$1.handleEvent(Unknown Source)
> >       at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
> >       at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
> >       at org.eclipse.swt.widgets.Widget.internal_sendEvent(Unknown Source)
> >       at org.eclipse.swt.internal.symbian.OS.Display_ReadAndDispatch(Native Method)
> >       at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
> >       at org.eclipse.ui.internal.Workbench.runEventLoop(Unknown Source)
> >       at org.eclipse.ui.internal.Workbench.runUI(Unknown Source)
> >       at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Unknown Source)
> >       at org.eclipse.ui.PlatformUI.createAndRunWorkbench(Unknown Source)
> >       at org.eclipse.ercp.eworkbench.eWorkbench.run(Unknown Source)
> >       at org.eclipse.core.internal.runtime.PlatformActivator$1.run(Unknown Source)
> >       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown
> > Source)
> >       at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown
> > Source)
> >       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
> >       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
> >       at java.lang.reflect.AccessibleObject.invokeL(Unknown Source)
> >       at java.lang.reflect.Method.invoke(Unknown Source)
> >       at org.eclipse.core.launcher.Main.invokeFramework(Unknown Source)
> >       at org.eclipse.core.launcher.Main.basicRun(Unknown Source)
> >       at org.eclipse.core.launcher.Main.run(Unknown Source)
> >       at org.eclipse.core.launcher.Main.main(Unknown Source)
> >
> > !ENTRY system.bundle 4 0 2008-02-10 03:25:12.093
> > !MESSAGE FrameworkEvent.ERROR
> > !STACK 0
> > java.io.IOException: Could not save file table.
> >       at org.eclipse.osgi.storagemanager.StorageManager.save(Unknown Source)
> >       at org.eclipse.osgi.storagemanager.StorageManager.update(Unknown Source)
> >       at org.eclipse.osgi.storagemanager.StorageManager.closeOutputStream(Unknown
> > Source)
> >       at org.eclipse.osgi.storagemanager.ManagedOutputStream.close(Unknown Source)
> >       at java.io.FilterOutputStream.close(Unknown Source)
> >       at java.io.FilterOutputStream.close(Unknown Source)
> >       at org.eclipse.osgi.internal.baseadaptor.BaseStorage.saveBundleDatas(Unknown
> > Source)
> >       at org.eclipse.osgi.internal.baseadaptor.BaseStorage.saveAllData(Unknown
> > Source)
> >       at org.eclipse.osgi.internal.baseadaptor.BaseStorage.frameworkStop(Unknown
> > Source)
> >       at org.eclipse.osgi.baseadaptor.BaseAdaptor.frameworkStop(Unknown Source)
> >       at org.eclipse.osgi.framework.internal.core.SystemBundleActivator.stop(Unknown
> > Source)
> >       at org.eclipse.osgi.framework.internal.core.BundleContextImpl$3.run(Unknown
> > Source)
> >       at java.security.AccessController.doPrivileged(Unknown Source)
> >       at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(Unknown
> > Source)
> >       at org.eclipse.osgi.framework.internal.core.StartLevelManager.suspendAllBundles(Unknown
> > Source)
> >       at org.eclipse.osgi.framework.internal.core.StartLevelManager.decFWSL(Unknown
> > Source)
> >       at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(Unknown
> > Source)
> >       at org.eclipse.osgi.framework.internal.core.StartLevelManager.shutdown(Unknown
> > Source)
> >       at org.eclipse.osgi.framework.internal.core.SystemBundle.suspend(Unknown
> > Source)
> >       at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Unknown Source)
> >       at org.eclipse.osgi.framework.internal.core.Framework.close(Unknown Source)
> >       at org.eclipse.osgi.framework.internal.core.OSGi.close(Unknown Source)
> >       at org.eclipse.core.runtime.adaptor.EclipseStarter.shutdown(Unknown Source)
> >       at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
> >       at java.lang.reflect.AccessibleObject.invokeL(Unknown Source)
> >       at java.lang.reflect.Method.invoke(Unknown Source)
> >       at org.eclipse.core.launcher.Main.invokeFramework(Unknown Source)
> >       at org.eclipse.core.launcher.Main.basicRun(Unknown Source)
> >       at org.eclipse.core.launcher.Main.run(Unknown Source)
> >       at org.eclipse.core.launcher.Main.main(Unknown Source)
> > ---------------------------------------------[ END
> > eRCP/workspace/.metadata/.log
> > ]------------------------------------------------------
> >
> > ----------------------------------------[ BEGIN
> > eRCP/configuration/config.ini
> > ]---------------------------------------------
> > ###############################################################################
> > # Copyright (c) 2003, 2005 IBM Corporation and others.
> > # All rights reserved. This program and the accompanying materials
> > # are made available under the terms of the Eclipse Public License v1.0
> > # which accompanies this distribution, and is available at
> > #
http://www.eclipse.org/legal/epl-v10.html
> > #
> > # Contributors:
> > #     IBM Corporation - initial API and implementation
> > ###############################################################################
> > osgi.bundles=org.eclipse.equinox.common@2:start,
> > org.eclipse.update.configurator@3:start,
> > org.eclipse.core.runtime@start
> > osgi.bundles.defaultStartLevel=4
> >
> > microedition.configuration=CDC-1.0
> > microedition.profiles=Foundation-1.0
> >
> >
> > ##embedded options
> > #the XML parser
> > osgi.framework.extensions=org.eclipse.ercp.xml, org.eclipse.ercp.xmlParserAPIs
> > #No locking required if only one instance of OSGi running on a given
> > configuration
> > osgi.locking=none
> > #Use reliableFiles for critical data
> > osgi.useReliableFiles=true
> > #Clean any temp files from file system
> > osgi.embedded.cleanTempFiles=true
> > #allow standalone, run w/o core.runtime
> > osgi.standalone=true
> > #enable stateSaver outside of shutdown, bug #106393
> > eclipse.enableStateSaver=true
> > #don't register optional eclipse services that eRCP doesn't need
> > eclipse.minimalRuntimeServices=true
> > #don't register optional eclipse services for OSGi only
> > #eclipse.minimalServices=true
> >
> > #set these for quicker startup performance, eg. PPC
> > #osgi.configuration.area.default=file:/eRCP/configuration/
> > #osgi.user.area.default=file:/My Documents/user/
> > #osgi.instance.area.default=file:/workspace/
> > #osgi.install.area=\eRCP
> >
> > #skip the system bundle check for updated framework at startup, must
> > be false if org.eclipse.osgi has been updated
> > #osgi.skipSystemBundleStartupCheck=true
> >
> > # The build identifier
> > eclipse.buildId=eRCP-v20060822
> >
> > java.specification.version=JCLDEVICE-1.0
> >
> > eof=eof
> > ----------------------------------------[ END
> > eRCP/configuration/config.ini
> > ]---------------------------------------------
> > _______________________________________________
> > dsdp-ercp-dev mailing list
> > dsdp-ercp-dev@xxxxxxxxxxx
> >
https://dev.eclipse.org/mailman/listinfo/dsdp-ercp-dev
> >
> >
>
> --
> Danail Nachev
> Software Engineer/Development Tools
> ProSyst Labs EOOD
> -------------------------------------------------
> stay in touch with your product.
> -------------------------------------------------
> _______________________________________________
> dsdp-ercp-dev mailing list
> dsdp-ercp-dev@xxxxxxxxxxx
>
https://dev.eclipse.org/mailman/listinfo/dsdp-ercp-dev
>
_______________________________________________
dsdp-ercp-dev mailing list
dsdp-ercp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dsdp-ercp-dev


Back to the top