Skip to content

Fix NoClassDefFoundError: org/eclipse/osgi/framework/util/CaseInsensitiveDictionaryMap#57

Merged
nedtwigg merged 3 commits intodiffplug:masterfrom
hacki11:bf-update-osgi
Feb 23, 2018
Merged

Fix NoClassDefFoundError: org/eclipse/osgi/framework/util/CaseInsensitiveDictionaryMap#57
nedtwigg merged 3 commits intodiffplug:masterfrom
hacki11:bf-update-osgi

Conversation

@hacki11
Copy link
Contributor

@hacki11 hacki11 commented Feb 22, 2018

During installing a product (old 3.8.2) an exception is thrown inside p2-bootstrap eclipse run.

P2Model.DirectorApp director = model.directorApp(dest, 'Product')
director.runUsingBootstrapper(project)
java.lang.NoClassDefFoundError: org/eclipse/osgi/framework/util/CaseInsensitiveDictionaryMap
	at org.eclipse.osgi.internal.resolver.StateObjectFactoryImpl.internalCreateState(StateObjectFactoryImpl.java:417)
	at org.eclipse.osgi.internal.resolver.StateObjectFactoryImpl.createState(StateObjectFactoryImpl.java:394)
	at org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxBundlesState.composeState(EquinoxBundlesState.java:326)
	at org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxBundlesState.composeNewState(EquinoxBundlesState.java:299)
	at org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxBundlesState.composeNewState(EquinoxBundlesState.java:281)
	at org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxBundlesState.initialize(EquinoxBundlesState.java:544)
	at org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxBundlesState.<init>(EquinoxBundlesState.java:244)
	at org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxManipulatorImpl.load(EquinoxManipulatorImpl.java:336)
	at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManipulator.loadDelegate(LazyManipulator.java:55)
	at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManipulator.getConfigData(LazyManipulator.java:108)
	at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction.installBundle(InstallBundleAction.java:75)
	at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction.execute(InstallBundleAction.java:32)
	at org.eclipse.equinox.internal.p2.engine.ParameterizedProvisioningAction.execute(ParameterizedProvisioningAction.java:39)
	at org.eclipse.equinox.internal.p2.engine.Phase.mainPerform(Phase.java:184)
	at org.eclipse.equinox.internal.p2.engine.Phase.perform(Phase.java:96)
	at org.eclipse.equinox.internal.p2.engine.PhaseSet.perform(PhaseSet.java:47)
	at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:77)
	at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:45)
	at org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:42)
	at org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:24)
	at org.eclipse.equinox.internal.p2.director.app.DirectorApplication.executePlan(DirectorApplication.java:813)
	at org.eclipse.equinox.internal.p2.director.app.DirectorApplication.planAndExecute(DirectorApplication.java:806)
	at org.eclipse.equinox.internal.p2.director.app.DirectorApplication.performProvisioningActions(DirectorApplication.java:793)
	at org.eclipse.equinox.internal.p2.director.app.DirectorApplication.run(DirectorApplication.java:1111)
	at org.eclipse.equinox.internal.p2.director.app.DirectorApplication.start(DirectorApplication.java:1293)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at com.diffplug.gradle.eclipserunner.EquinoxLauncher$Running.run(EquinoxLauncher.java:192)
	at com.diffplug.gradle.eclipserunner.EquinoxLauncher$Running.access$100(EquinoxLauncher.java:174)
	at com.diffplug.gradle.eclipserunner.EquinoxLauncher.run(EquinoxLauncher.java:165)
	at com.diffplug.gradle.eclipserunner.JarFolderRunner.run(JarFolderRunner.java:36)
	at com.diffplug.gradle.eclipserunner.JarFolderRunnerExternalJvm$RunOutside.run(JarFolderRunnerExternalJvm.java:120)
	at com.diffplug.gradle.JavaExecable.main(JavaExecable.java:134)
Caused by: java.lang.ClassNotFoundException: org.eclipse.osgi.framework.util.CaseInsensitiveDictionaryMap
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 35 more

The missing class is not within the goomph plugin. I have updated the osgi dependency to the latest version.

Juergen Schmid and others added 3 commits February 22, 2018 11:18
@nedtwigg
Copy link
Member

Thanks very much for this fix! Does my tweak to it look reasonable? If so I'll merge and release as 3.11.1.

@nedtwigg nedtwigg merged commit 9d1f3fe into diffplug:master Feb 23, 2018
@nedtwigg
Copy link
Member

Thanks for all the PRs! Published in 3.11.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants