Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 314436

Summary: ClassNotFoundException when generating diagram
Product: [Modeling] GMF-Tooling Reporter: Aurelien Pupier <apupier>
Component: CoreAssignee: gmf.generation-inbox <gmf.generation-inbox>
Status: NEW --- QA Contact:
Severity: major    
Priority: P3 CC: jan
Version: 2.3   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Aurelien Pupier CLA 2010-05-26 07:37:03 EDT
Build Identifier: 20100520-1308

ClassNotFoundException when generating diagram with gmfgen designed with Eclipse 3.5

I've got this error:
java.lang.NoClassDefFoundError: org/eclipse/m2m/qvt/oml/util/IContext
	at org.eclipse.gmf.internal.xpand.XpandFacade.getContext(XpandFacade.java:75)
	at org.eclipse.gmf.internal.xpand.XpandFacade.evaluate(XpandFacade.java:48)
	at org.eclipse.gmf.internal.common.codegen.XpandTextEmitter.generate(XpandTextEmitter.java:64)
	at org.eclipse.gmf.internal.common.codegen.GeneratorBase.doGenerateJavaClass(GeneratorBase.java:347)
	at org.eclipse.gmf.codegen.util.Generator.generateExternalizationSupport(Generator.java:825)
	at org.eclipse.gmf.codegen.util.Generator.customRun(Generator.java:73)
	at org.eclipse.gmf.internal.common.codegen.GeneratorBase$1.run(GeneratorBase.java:486)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1957)
	at org.eclipse.gmf.internal.common.codegen.GeneratorBase.doRun(GeneratorBase.java:483)
	at org.eclipse.gmf.internal.common.codegen.GeneratorBase.run(GeneratorBase.java:90)
	at org.eclipse.gmf.internal.codegen.popup.actions.ExecuteTemplatesOperation.run(ExecuteTemplatesOperation.java:226)
	at org.eclipse.gmf.internal.codegen.popup.actions.ExecuteTemplatesOperation$1.run(ExecuteTemplatesOperation.java:122)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.ClassNotFoundException: org.eclipse.m2m.qvt.oml.util.IContext
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	... 14 more


Using Ctrl+Shift+T: The class IContext seems to have changed of package. It is in an internal package org.eclipse.m2m.internal.qvt.oml.util.IContext although it doesn't search an internal one.

Reproducible: Always
Comment 1 Aurelien Pupier CLA 2010-05-26 08:41:07 EDT
using the latest version of qvt oml it works
you can get it here: http://download.eclipse.org/modeling/m2m/qvtoml/updates/milestones/site.xml
Comment 2 Jan Koehnlein CLA 2010-05-27 08:22:32 EDT
Is that an API breach? If so, please consider putting deprecated stubs inheriting from the new classes/interfaces.
Comment 3 Aurelien Pupier CLA 2010-05-27 08:26:49 EDT
(In reply to comment #2)
> Is that an API breach? If so, please consider putting deprecated stubs
> inheriting from the new classes/interfaces.

In fact, it seems to me that before internal class were used. This class became part of the API so no API break to my POV.

Xpand must just set a more restrictive "required plugin" on qvt oml.
Comment 4 Jan Koehnlein CLA 2010-05-27 08:54:59 EDT
I'd suggest promoting the latest versions of everything needed to run GMF to the Helios release update site then. I cannot visit the individual milestone update sites for all GMF dependencies to get a running version. It is RC2 now.
Comment 5 Eclipse Webmaster CLA 2010-07-19 22:19:15 EDT
[GMF Restructure] Bug 319140 : product GMF and component
Generation was the original product and component for this bug