Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jdt-dev] NoClassDefFoundError IExecutionEnvironmentAnalyzerDelegate when attemping to add plugin to contribute custom execution environments

I'm new to this, so be gentle.

We normally setup custom VM configurations for compiling BlackBerry applications.  This has worked well, until this week when I switched over to OSX.  Our VM strings are different, so sharing .classpath files won't work (and that is really important for us).

Naturally, I decided to start using execution profiles instead so that the .classpath was more portable.  The configuration of the existing execution environments won't work, we need to strip all libraries from a VM and simply point to one jar provided by RIM.  No problem right?  Wrong (at least as far as I can tell).  I tried to find a way to customize the execution environment profile, but found that I needed to write a plugin. 

That brings me to this issue:

I created a quick and dirty plugin to add the additional desired execution environment profiles, following the lead of the org.eclipse.jdt.launching plugin.  All is well and I think I almost have what we need, but the plugin is blowing up on startup by failing to find org/eclipse/jdt/launching/environments/IExecutionEnvironmentAnalyzerDelegate.

As far as I can tell, that class is visible and available for me to reference, but that's as far as my understanding goes.  I reference it as a dependency, and as a hail-mary I  tried every other way to reference the class:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Metova Blackberry Plug-in
Bundle-SymbolicName: org.metova.eclipse.blackberry; singleton:=true
Bundle-Version: 1.0.0
Bundle-Activator: org.metova.eclipse.blackberry.Activator
Require-Bundle: org.eclipse.jdt.core,
 org.eclipse.core.runtime,
 org.eclipse.jdt.launching
Eclipse-LazyStart: true
Bundle-RequiredExecutionEnvironment: J2SE-1.4
Export-Package: org.metova.eclipse.blackberry ,
 org.metova.eclipse.blackberry.internal.launching.execution;x-internal:=true
Bundle-Vendor: Metova
Import-Package: org.eclipse.jdt.launching.environments


I think I'm fundamentally missing something here.  Can someone point me in the right direction?

Thank you,

Kevin. 

Stack Trace follows:

org.eclipse.core.runtime.CoreException: Plug-in org.metova.eclipse.blackberry was unable to load class org.metova.eclipse.blackberry.internal.launching.execution.ExecutionEnvironmentAnalyzer .
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:180)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java :164)
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:788)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java :243)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51)
    at org.eclipse.jdt.internal.launching.environments.Analyzer.getDelegate(Analyzer.java :51)
    at org.eclipse.jdt.internal.launching.environments.Analyzer.analyze(Analyzer.java:40)
    at org.eclipse.jdt.internal.launching.environments.EnvironmentsManager.analyze(EnvironmentsManager.java:336)
    at org.eclipse.jdt.internal.launching.environments.EnvironmentsManager.initializeCompatibilities(EnvironmentsManager.java:241)
    at org.eclipse.jdt.internal.launching.environments.ExecutionEnvironment.init(ExecutionEnvironment.java :152)
    at org.eclipse.jdt.internal.launching.environments.ExecutionEnvironment.getDefaultVM(ExecutionEnvironment.java:189)
    at org.eclipse.jdt.internal.launching.JREContainerInitializer.resolveVM(JREContainerInitializer.java :132)
    at org.eclipse.jdt.internal.launching.JREContainerInitializer.resolveVM(JREContainerInitializer.java:99)
    at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize(JREContainerInitializer.java :57)
    at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2203)
    at org.eclipse.jdt.internal.core.JavaModelManager$9.run(JavaModelManager.java:2133)
    at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1797)
    at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:2149)
    at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java :1543)
    at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:1571)
    at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2558)
    at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1848)
    at org.eclipse.jdt.internal.core.DeltaProcessingState.initializeRoots(DeltaProcessingState.java:202)
    at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:717)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797)
    at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:785)
    at org.eclipse.jdt.core.JavaCore.setClasspathVariables (JavaCore.java:4605)
    at org.eclipse.jdt.core.JavaCore.setClasspathVariable(JavaCore.java:4569)
    at com.genuitec.eclipse.j2eedt.classpath.J2EEClasspathVariableInitializer.initialize(Unknown Source)
    at org.eclipse.jdt.core.JavaCore.getClasspathVariable (JavaCore.java:1694)
    at com.genuitec.eclipse.core.util.ClasspathUtil.getClasspathVariableValue(ClasspathUtil.java:145)
    at com.genuitec.eclipse.core.librarymgmt.ModuleManager.loadModule(ModuleManager.java:344)
    at com.genuitec.eclipse.core.librarymgmt.ModuleManager.loadModules(ModuleManager.java:279)
    at com.genuitec.eclipse.core.librarymgmt.ModuleManager.getModules(ModuleManager.java:84)
    at com.genuitec.eclipse.core.librarymgmt.ModuleManager.getModules (ModuleManager.java:70)
    at com.genuitec.eclipse.core.librarymgmt.ModuleManager.initializeModules(ModuleManager.java:58)
    at com.genuitec.eclipse.j2eedt.core.J2EECore.start(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run (BundleContextImpl.java:999)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:993)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start (BundleContextImpl.java:974)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:346)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:260)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:400)
    at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass (ClasspathManager.java:417)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:189)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java :340)
    at org.eclipse.osgi.framework.internal.core.SingleSourcePackage.loadClass(SingleSourcePackage.java:37)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:405)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:369)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:357)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass (DefaultClassLoader.java:83)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    at com.genuitec.eclipse.jsf.core.JSFCore.getJSFEnabledWebProjects (JSFCore.java:383)
    at com.genuitec.eclipse.jsf.core.JSFCore.getJSFEnabledWebProjects(JSFCore.java:379)
    at com.genuitec.eclipse.jsf.core.JSFCore.getProject(JSFCore.java:655)
    at org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigUtils.isValidJSFProject (JSFAppConfigUtils.java:133)
    at org.eclipse.jst.jsf.designtime.internal.jsp.StartupHandler$JSPEditorListener.isValidJSPEditor(StartupHandler.java:155)
    at org.eclipse.jst.jsf.designtime.internal.jsp.StartupHandler$1.run (StartupHandler.java:62)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
    at org.eclipse.swt.widgets.Display.runAsyncMessages (Display.java:3212)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2956)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
    at org.eclipse.ui.internal.Workbench.runUI (Workbench.java:2353)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
    at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:289)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:106)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java :106)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:176)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504)
    at org.eclipse.equinox.launcher.Main.basicRun (Main.java:443)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
org.eclipse.core.runtime.CoreException[1]: java.lang.NoClassDefFoundError: org/eclipse/jdt/launching/environments/IExecutionEnvironmentAnalyzerDelegate
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:675)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java :161)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:501)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:471)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:430)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:413)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass (DefaultClassLoader.java:189)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:340)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java :408)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:369)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:357)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass (DefaultClassLoader.java:83)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:289)
    at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass (BundleHost.java:227)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1269)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension( RegistryStrategyOSGI.java:160)
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:788)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension (ConfigurationElement.java:243)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51)
    at org.eclipse.jdt.internal.launching.environments.Analyzer.getDelegate (Analyzer.java:51)
    at org.eclipse.jdt.internal.launching.environments.Analyzer.analyze(Analyzer.java:40)
    at org.eclipse.jdt.internal.launching.environments.EnvironmentsManager.analyze(EnvironmentsManager.java :336)
    at org.eclipse.jdt.internal.launching.environments.EnvironmentsManager.initializeCompatibilities(EnvironmentsManager.java:241)
    at org.eclipse.jdt.internal.launching.environments.ExecutionEnvironment.init (ExecutionEnvironment.java:152)
    at org.eclipse.jdt.internal.launching.environments.ExecutionEnvironment.getDefaultVM(ExecutionEnvironment.java:189)
    at org.eclipse.jdt.internal.launching.JREContainerInitializer.resolveVM (JREContainerInitializer.java:132)
    at org.eclipse.jdt.internal.launching.JREContainerInitializer.resolveVM(JREContainerInitializer.java:99)
    at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize (JREContainerInitializer.java:57)
    at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2203)
    at org.eclipse.jdt.internal.core.JavaModelManager$9.run(JavaModelManager.java :2133)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797)
    at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:2149)
    at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer (JavaModelManager.java:1543)
    at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:1571)
    at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2558)
    at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1848)
    at org.eclipse.jdt.internal.core.DeltaProcessingState.initializeRoots(DeltaProcessingState.java:202)
    at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:717)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797)
    at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:785)
    at org.eclipse.jdt.core.JavaCore.setClasspathVariables (JavaCore.java:4605)
    at org.eclipse.jdt.core.JavaCore.setClasspathVariable(JavaCore.java:4569)
    at com.genuitec.eclipse.j2eedt.classpath.J2EEClasspathVariableInitializer.initialize(Unknown Source)
    at org.eclipse.jdt.core.JavaCore.getClasspathVariable (JavaCore.java:1694)
    at com.genuitec.eclipse.core.util.ClasspathUtil.getClasspathVariableValue(ClasspathUtil.java:145)
    at com.genuitec.eclipse.core.librarymgmt.ModuleManager.loadModule(ModuleManager.java:344)
    at com.genuitec.eclipse.core.librarymgmt.ModuleManager.loadModules(ModuleManager.java:279)
    at com.genuitec.eclipse.core.librarymgmt.ModuleManager.getModules(ModuleManager.java:84)
    at com.genuitec.eclipse.core.librarymgmt.ModuleManager.getModules (ModuleManager.java:70)
    at com.genuitec.eclipse.core.librarymgmt.ModuleManager.initializeModules(ModuleManager.java:58)
    at com.genuitec.eclipse.j2eedt.core.J2EECore.start(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run (BundleContextImpl.java:999)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:993)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start (BundleContextImpl.java:974)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:346)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:260)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:400)
    at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass (ClasspathManager.java:417)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:189)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java :340)
    at org.eclipse.osgi.framework.internal.core.SingleSourcePackage.loadClass(SingleSourcePackage.java:37)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:405)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:369)
    at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:357)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass (DefaultClassLoader.java:83)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    at com.genuitec.eclipse.jsf.core.JSFCore.getJSFEnabledWebProjects (JSFCore.java:383)
    at com.genuitec.eclipse.jsf.core.JSFCore.getJSFEnabledWebProjects(JSFCore.java:379)
    at com.genuitec.eclipse.jsf.core.JSFCore.getProject(JSFCore.java:655)
    at org.eclipse.jst.jsf.core.jsfappconfig.JSFAppConfigUtils.isValidJSFProject (JSFAppConfigUtils.java:133)
    at org.eclipse.jst.jsf.designtime.internal.jsp.StartupHandler$JSPEditorListener.isValidJSPEditor(StartupHandler.java:155)
    at org.eclipse.jst.jsf.designtime.internal.jsp.StartupHandler$1.run (StartupHandler.java:62)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
    at org.eclipse.swt.widgets.Display.runAsyncMessages (Display.java:3212)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2956)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
    at org.eclipse.ui.internal.Workbench.runUI (Workbench.java:2353)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
    at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:289)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:106)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java :106)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:176)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504)
    at org.eclipse.equinox.launcher.Main.basicRun (Main.java:443)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1169)


Back to the top