Bonjour à tous,
Je débutant dans la génération de code avec Acceleo et je rencontre un problème pour générer le code Java de mon méta-modèle appelé "StateMachine.ecore".
Tout d'abord j'ai commencé par modéliser ce méta-modèle, ensuite j'ai créé le "edit et editor" pour pouvoir lancer une instance de mon modèle, ce qui fonctionne très bien jusque là.
Après exécution, j'ai créé un modèle "My.stateMachine" qui respecte les contraintes de mon méta-modèle. A partir de là, j'ai voulu créer le code Java correspondant à ce modèle, en passant par Acceleo. Du coup, j'ai créé un nouveau projet Acceleo et j'ai en même temps créé le fichier "xxx.mtl" en renseignant le chemin de "my.statemachine"..., Acceleo me générant automatiquement un ".java".
Tout se passe toujours bien sauf quand je dois lancer l'exécution du fichier "xxx.mtl".
Voici mon template :
Le problème c'est qu'il ne m'affiche rien du tout dans la console, même quand je fais des modifications dans le Template, mis à part "0s".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 [comment encoding = UTF-8 /] [module generate('http://statemachine/1.0')] [template public generateElement(aStateMachine : StateMachine)] [comment @main /] [file (aStateMachine.name.concat('.txt'), false, 'UTF-8')] [aStateMachine.name/] : [aStateMachine.eAllContents()->size()/] [/file] [/template]
Du coup je l'ai lancé en mode débug et voilà ce qu'il m'affiche :
Je ne comprends pas du tout ce qu'est cette ressourceimpl. Je ne l'ai jamais déclaré.Exception in thread "main" java.lang.RuntimeException: Cannot create a resource for 'file:/C:/Documents%20and%20Settings/xxxx/runtime-New_configuration(1)/StMachine/My.statemachine'; a registered resource factory is needed
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java:394)
at org.eclipse.acceleo.common.utils.ModelUtils.load(ModelUtils.java:348)
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.initialize(AbstractAcceleoGenerator.java:444)
at org.eclipse.acceleo.module.sample.main.Generate.<init>(Generate.java:90)
at org.eclipse.acceleo.module.sample.main.Generate.main(Generate.java:137)
Quelqu'un saurait-il m'expliquer comment résoudre ce problème ?
Merci d'avance pour votre aide.
Partager