问题标签 [acceleo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
eclipse - 无法在 Eclipse 中使用 Acceleo 从 UML 生成 java
我是 Eclipse 和 Acceleo 的新手,我一直在尝试完成第一个生成器模型教程。我正在使用 Kepler 4.3 和 Acceleo 3.X。我正在关注从 uml 生成 java 代码的教程。该链接是http://wiki.eclipse.org/Acceleo/Getting_Started。但是当我尝试运行 generate.mtl 文件时,错误日志给了我消息:
它也给了我警告:
无法加载类 org.eclipse.acceleo.module.sample.main.Generate。检查其包含的包是否已导出。
并且 bundle org.eclipse.acceleo.module.sample 的激活器 org.eclipse.acceleo.module.sample.Activator 无效
org.osgi.framework.BundleException:用于包 org.eclipse.acceleo.module.sample 的激活器 org.eclipse.acceleo.module.sample.Activator 在 org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator 无效(AbstractBundle.java:172) 在 org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:679) 在 org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java :381) 在 org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:478) 在 org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300) 在 org. eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263) 在 org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:236) 在 org.eclipse.osgi.framework。internal.core.AbstractBundle.loadClass(AbstractBundle.java:1212) 在 org.eclipse.acceleo.common.internal.utils.workspace.AcceleoWorkspaceUtil.getClass(AcceleoWorkspaceUtil.java:544) 在 org.eclipse.acceleo.ide.ui。在 org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2345) 在 org.eclipse.core.internal.resources.Workspace.run( Workspace.java:2327) 在 org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginLaunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java:259) 在 org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginLaunchingStrategy.launch( AcceleoPluginLaunchingStrategy.java:161) 在 org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchDelegate.launch(AcceleoLaunchDelegate.java:51) 在 org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:858) 在 org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:707) 在 org.eclipse.debug.internal.ui。 DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1018) at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1222) at org.eclipse.core.internal.jobs.Worker.run(Worker.java :53) 原因:java.lang.ClassNotFoundException: org.eclipse.acceleo.module.sample_1.0.0.qualifier 在 org.eclipse.osgi.internal.loader 找不到 org.eclipse.acceleo.module.sample.Activator .BundleLoader.findClassInternal(BundleLoader.java:501) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java :412)在 org.eclipse.osgi.internal.loader.BundleLoader.loadClass( BundleLoader.java:340) 在 org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229) 在 org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java: 165) ... 19 更多根异常:java.lang.ClassNotFoundException: org.eclipse.acceleo.module.sample_1.0.0.qualifier 在 org.eclipse.osgi 找不到 org.eclipse.acceleo.module.sample.Activator .internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) 在 org.eclipse.osgi.internal。loader.BundleLoader.findClass(BundleLoader.java:412) 在 org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 在 java.lang.ClassLoader.loadClass(Unknown Source) 在 org.eclipse。 osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:340) 在 org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229) 在 org.eclipse.osgi.framework.internal。 core.AbstractBundle.loadBundleActivator(AbstractBundle.java:165) 在 org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:679) 在 org.eclipse.osgi.framework.internal.core.BundleHost。 startWorker(BundleHost.java:381) 在 org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300) 在 org.eclipse.osgi.framework.util.SecureAction。在 org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java: 236) 在 org.eclipse.acceleo.common.internal.utils.workspace.AcceleoWorkspaceUtil.getClass(AcceleoWorkspaceUtil.java:544) 的 org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1212)在 org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoLaunchOperation.run(AcceleoLaunchOperation.java:103) 在 org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2345) 在 org.eclipse .core.internal.resources.Workspace.run(Workspace.java:2327) 在 org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginLaunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java:259) 在 org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginLaunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java:161) at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchDelegate.launch(AcceleoLaunchDelegate.java:51) at org. eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:858) 在 org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:707) 在 org.eclipse.debug.internal.ui。 DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1018) at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1222) at org.eclipse.core.internal.jobs.Worker.run(Worker.java :53)AcceleoLaunchDelegate.launch(AcceleoLaunchDelegate.java:51) 在 org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:858) 在 org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java: 707) 在 org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1222) 的 org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1018)。 core.internal.jobs.Worker.run(Worker.java:53)AcceleoLaunchDelegate.launch(AcceleoLaunchDelegate.java:51) 在 org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:858) 在 org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java: 707) 在 org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1222) 的 org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1018)。 core.internal.jobs.Worker.run(Worker.java:53)debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1222) 在 org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1222) 在 org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
我已将 [comment @main/] 放在模板行下方并执行教程中的所有步骤,我真的不知道问题出在哪里。
我将不胜感激任何帮助或反馈。
eclipse - Acceleo 3 中的等效 fr.obeo.acceleo.gen.module 扩展
我正在使用 Acceleo 3 并希望将我的项目导出为插件。我正在关注本教程。
不幸的是,Acceleo 3 不包括fr.obeo.acceleo.gen.module
. Acceleo 3 中是否有任何等效模块?
xml - 如何使用 Acceleo 和 Sirius?
我想使用 Acceleo 3.4.x 生成代码,其中我的元模型是使用 Sirius 项目创建的自定义 DSL。创建的 Sirius 图分为两个文件:aird 文件用于图形数据,一个文件用于语义数据,实际上是 XML 文件。
以下是我的问题:
- 如果我使用 Sirius 图,什么是元模型 URI?
- 有 Acceleo 和 Sirius 的例子吗?或者类似的例子?
谢谢。
eclipse-emf - 如何强制 Acceleo 在每次模板执行时以相同的顺序迭代集合?
我正在使用基于 Modisco KDM 元模型的 EMF 模型。在我的 Acceleo 模板的某个时刻,我需要遍历一个集合,例如:
[for (e: AbstractCodeElement | action.codeElement) 分隔符(', ')][e.generateCode() /]
action.codeElement 是一个集合,modisco 的 kdm.ecore 元模型将其定义为无序的。
每次我运行生成器时,都会以不同的顺序生成输出。显然,序列化模型 xmi 强制执行特定顺序,并且我打开模型的每个模型编辑器(emf 默认编辑器、modisco 编辑器)始终显示相同的顺序(匹配元素序列化到 xmi 文件的顺序)。
由于我无法更改 kdm.ecore 元模型以使集合有序,是否有一种解决方法可以让 Acceleo 始终以相同的顺序进行迭代?
提前致谢
eclipse - Acceleo Incremental generation on same file
How can I execute the same module more that once but keep the previous generated code file?
A short explanation is that I have a main module that calles other modules. generate.mtl
If I have more than one page, the template [GenerateStrings(element)/]
will be called more than once. As the Console output says
So the file will contain only the last modification not all the code from file1 & file2.
When I was searching for a solution I only found Incremental generation using
or
But this is not a solution for an XML file.
The code that I'm ussing to write the xml row is this:
acceleo - Acceleo:使用自定义 UML Profile 作为元模式,以及模板中的原型?
我是 Acceleo 的新手。我使用 IBM RSA (8.5.1)。我创建了一个自定义 UML 配置文件(带有一些扩展默认元类的原型,这很常见)。UML 配置文件是一个 .epx 文件。此外,我创建了一个简单的模型,在该模型上应用了我的自定义 UML 配置文件,并用我的自定义原型“标记”了一些类。
我的问题(对不起,如果它是微不足道的,但我没有找到一个直接的答案......):
我可以在 Acceleo 中使用我的自定义 UML 配置文件作为元模型吗?简单地说,而不是在我的模块文件中写入以下内容: [module main(' http://www.eclipse.org/uml2/3.0.0/UML ')] (这个工作正常)我可以写这样的东西:[模块主('平台:/resource/MyProfileProject/MyProfile.epx')]?如果我尝试这样做,我会收到一条错误消息:“无法解析元模型”。我尝试将我的 UML 配置文件从 .epx 格式转换为 .xmi 和 .uml。这些都不起作用。
如果这可以以某种方式工作,我可以使用我的自定义构造型作为 Acceleo 模板中的类型限定符(在“for”循环等中)吗?
任何帮助表示赞赏。先感谢您。马塞尔
eclipse - 如何在我的模板中使用生成器参数?
生成器的第三个参数是参数列表。
文件说:
如果将要调用的模板需要从模型中获取的多个参数,请在此处传递它们。
但是如何在我的模板中使用这个参数呢?如何访问它们?
拉尔夫
eclipse - 如何导入模块?
导入模块的正确方法是什么?
我有一个名为DatabaseGenerator
. 它位于eu.the4thfloor.dme.generator.main.DatabaseGenerator.mtl
我有另一个名为DatabaseGeneratorHelper
. 这位于eu.the4thfloor.dme.generator.common.DatabaseGeneratorHelper.mtl
现在我想用这个命令导入帮助模块:
我在模块文件中没有收到错误,但我从 Eclipse 收到错误:
但是文件存在。怎么了?
助手模块在任务文件夹中没有xml文件是否正确?
拉尔夫
dsl - 检查实例上是否存在 EReference (Acceleo)
我的元模型中有两个 Eclass(称为 X 和 Y),它们之间有一个包含关系(X 包含 Y),下限为 0,上限为 1。
我需要在我的 .mtl 文件中知道用户是否添加了这个唯一的 Y 实例以添加一些代码。像这样的尝试失败了:
提前致谢,如果您需要任何额外信息,请告诉我。