How to solve ERROR Mwe2Launcher: Could not find EClass for name

I created an Xpand generator. In my src / I folder, I defined the My.nn model of the model and the workflow.

This is what my workflow.mwe2 file looks like:

module workflow.NeuralNetworksGenerator import org.eclipse.emf.mwe.utils.* var targetDir = "src-gen" var fileEncoding = "Cp1252" var modelPath = "src/model" Workflow { component = org.eclipse.xtext.mwe.Reader { // lookup all resources on the classpath //useJavaClassPath = true // or define search scope explicitly path = modelPath // this class will be generated by the xtext generator register = org.xtext.example.neuralnetworks.NeuralNetworksStandaloneSetup {} load = { slot = "systems" type = "System" } } component = org.eclipse.xpand2.Generator { expand = "templates::Template::main FOREACH systems" outlet = { path = targetDir } fileEncoding = fileEncoding } } 

When I try to run this workflow.mwe2 file as an MWE2 workflow, I get the following errors:

 0 INFO AbstractExpressionsUsingWorkflowComponent - No meta models configured, using JavaBeans as default. 75 ERROR Mwe2Launcher - Problems running workflow workflow.NeuralNetworksGenerator: Couldn't find EClass for name 'System'. java.lang.RuntimeException: Problems running workflow workflow.NeuralNetworksGenerator: Couldn't find EClass for name 'System'. at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:99) at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:73) at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:64) at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:55) at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74) at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35) Caused by: org.eclipse.emf.mwe.core.WorkflowInterruptedException: Couldn't find EClass for name 'System'. at org.eclipse.xtext.mwe.SlotEntry.findEClasses(SlotEntry.java:135) at org.eclipse.xtext.mwe.SlotEntry.put(SlotEntry.java:91) at org.eclipse.xtext.mwe.AbstractReader.addModelElementsToContext(AbstractReader.java:95) at org.eclipse.xtext.mwe.Reader.invokeInternal(Reader.java:166) at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126) at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34) at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201) at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35) at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19) at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:97) ... 5 more 

The example I used to create my specialized workflow mwe2 file is taken from the Xpand reference manual.

This is a list of plug-in dependencies on the MANIFEST.MF file:

 Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: my.neuralnetworks.generator.project Bundle-SymbolicName: my.neuralnetworks.generator.project; singleton:=true Bundle-Version: 1.0.0 Require-Bundle: org.eclipse.jdt.core;bundle-version="3.5.0", org.eclipse.xtend.profiler;resolution:=optional, org.apache.commons.logging, org.apache.log4j;resolution:=optional, com.ibm.icu;bundle-version="4.0.1", org.antlr.runtime;bundle-version="3.0.0", org.eclipse.core.runtime;bundle-version="3.5.0", org.eclipse.emf.mwe.utils;bundle-version="0.7.0", org.eclipse.emf.ecore.xmi;bundle-version="2.5.0", org.eclipse.jface.text;bundle-version="3.5.0", org.eclipse.xpand;bundle-version="0.7.0", org.eclipse.xtend;bundle-version="0.7.0", org.eclipse.xtend.typesystem.emf;bundle-version="0.7.0", org.eclipse.xtend.backend;bundle-version="1.0.0";resolution:=optional, org.eclipse.xtend.middleend.xpand;bundle-version="1.0.0";resolution:=optional, org.eclipse.xtend.middleend.xtend;bundle-version="1.0.0";resolution:=optional, neuralnetworks;bundle-version="1.0.0", org.xtext.example.neuralnetworks;bundle-version="1.0.0", org.eclipse.emf.ecore.xmi.source;bundle-version="2.7.0", org.eclipse.jface.text.source;bundle-version="3.7.0", org.antlr.runtime.source;bundle-version="3.2.0", org.antlr.runtime_3.1.b1;bundle-version="3.1.0", com.ibm.icu.source;bundle-version="4.4.2", org.eclipse.jdt.core.source;bundle-version="3.7.0", org.eclipse.emf.mwe2.launch;bundle-version="2.2.0" Bundle-RequiredExecutionEnvironment: J2SE-1.5 Import-Package: nn 

The neuralnetworks plugin links to my gmf project for my graphics editor, where the metamodel is found, and org.xtext.example.neuralnetworks is the one that matches my text editor.

The ecore file corresponding to the emf file has an EClass system in it.

+4
source share
2 answers

What does your dsl look like? Does it have an EClass class called System? Update: you just do not have a Xtext based metamodel. Therefore, if you want to use the Xtext Mwe Reader component, you must use AbstractGenericResourceSupport and register your epackage, as well as described in this example Xtend2 http://christiandietrich.wordpress.com/2011/07/29/xtend2-code-generators-with -non-xtext-models /

0
source

No, but since you are using an existing metamodel and not a derivative, you must add the following to the beginning of the workflow.

 bean = StandaloneSetup { registerGeneratedEPackage = "sample.SamplePackage" } 
0
source

Source: https://habr.com/ru/post/1395806/


All Articles