这是我使用eclipse所做的:
- 创建新的纸莎草纸项目
- 在纸莎草纸中创建类图
- 创建新的 EMF 空项目 使用
- EMF生成器模型将我的.uml文件(使用Papyrus创建)转换为.ecore文件
现在我想用Java来做这件事。我在这里找到了一个帖子,有人正在从 XSD 做这件事。我想做同样的事情,但来自 UML。User565300正在使用名为Xsd2Ecore的东西,但我找不到Uml2Ecore。你们知道日食用什么来转换UML文件吗?
我最近碰巧遇到了这个问题,并找到了一个简单的解决方案,所以我想我会分享。
除了Papyrus,我还安装了Obeo UML Designer 6.1插件。
1)UML设计器增加了"建模项目"的概念。 从"文件>新建"子菜单中创建一个。
2)找到要转换为ECore的纸莎草模型。 在其根节点下,您通常会看到两个标记为"符号"和"uml"的子节点。 标记为"uml"的节点对应于一个名为"model.uml"的文件。 单击它并将文件路径复制到剪贴板。
3) 返回您的建模项目。 将剪贴板粘贴到其中,您应该会看到"model .uml"出现。 打开。
4) 打开"根资源节点"并选择其单个子节点,下面称为"根模型节点"。-- 这应该是一个 UML 模型对象,表示要移植的模型的根。-- 如果看到其他内容,请检查是否未能覆盖预先存在的文件或复制错误的模型源。
5) 确保您处于建模透视图并查看"UML 编辑器"菜单。 在根模型节点仍突出显示的情况下,导航到"转换为"->"Ecore Model..."
6) 完成向导。 更正任何错误,并在必要时重新调整。
Obeo Designer是GitHub上可用的开源项目,所以我想可以挑选清单文件来识别"To Ecore..."的菜单贡献。然后通过 GitHub 找到实际的源代码。
Papyrus是一个UML编辑器,需要其他插件。您需要使用另一个插件(例如 accelero)才能生成代码,但说实话,自 Eclipse 3.5 以来,该插件似乎并未真正适用于最新版本。最好的方法是切换到 Topcased,它正在建模开发环境,包括代码生成。唯一的问题是Topcased已被放弃,以便合并到Papurus MDT中,因此最好不要今天投资此工具并坚持使用Papyrus MDT。
从纸莎草纸创建ecore模型是不可能的,因为它适用于GMF模型,而不是直接从Ecore模型。GMF 自 Eclipse 3.5 以来也被放弃了,我不知道该说什么......祝你好运