我创建了一个扩展名为.system
的EMF模型,它将为我的工作生成代码。
现在我可以使用Eclipse中的启动代码生成操作生成代码。但我想通过从独立程序启动代码生成来生成代码。
我如何实现这一目标?
详细信息:我已经从EMF模型创建了一个插件,并且已经包含在Eclipse中。
我将从插件中创建.system
个文件,我可以从插件中生成代码。
我观察到当我点击启动代码生成时,它会从我的插件启动LauchAction
类。
如何从独立的Java程序启动LaunchAction
类?
我的目标是运行我创建的.system
模型,并从独立的Java程序生成代码。
我如何实现这一目标?
答案 0 :(得分:3)
您可以从命令行调用Eclipse。类似的东西:
eclipse.exe -noSplash -data ${workspace_location} -model -edit -editor -tests -application org.eclipse.emf.codegen.ecore.Generator ${genmodel}
此命令将以静默方式启动Eclipse,并将生成模式代码(-model
),编辑插件(-edit
),编辑器插件(-editor
)和测试插件-in(-tests
)。如果不需要,请省略任何这些参数。
答案 1 :(得分:0)
我不知道如何解决您的问题,但我认为这是可行的。我认为您必须查看EMF源代码以检查代码生成的工作原理。
以下是一些起点:
如果拥有PDE和EMF工具,请使用 Import>插件和片段将EMF插件插入Eclipse工作区。
否则,克隆并导入以下Git存储库:
https://git.eclipse.org/c/emf/org.eclipse.emf.git/
看看以下文件,也许您可以在那里找到所需的文件:
plugins/org.eclipse.emf.codegen.ecore.ui/src/org/eclipse/emf/codegen/ecore/genmodel/handler/GenerateHandler.java
否则,请查看org.eclipse.emf.codegen.ecore
插件。
祝你好运!这是一个有趣的问题!如果解决了,请在这里报告!
编辑:糟糕,这个问题已有10年历史了,我没有注意到!