[
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)