我想打包一些 mwe2 工作流定义,并从 Eclipse 插件中以编程方式执行这些定义。
我派生了以下咒语,但找不到模块。
public void runMwe2() throws Exception {
/**
* Obtain the Eclipse-based activator
*/
Mwe2Activator mwe2Activator = Mwe2Activator.getInstance();
assert mwe2Activator != null;
/**
* Obtain the injector
*/
Injector injector = mwe2Activator
.getInjector("org.eclipse.emf.mwe2.language.Mwe2");
assert injector != null;
/**
* Have the injector inject the runner
*/
Mwe2Runner mwe2Runner = injector.getInstance(Mwe2Runner.class);
final String pluginPathToModule = WORKFLOW;
URI moduleUri = URI.createPlatformPluginURI(pluginPathToModule, false);
mwe2Runner.run(moduleUri, new HashMap<String, String>(),
new WorkflowContextImpl());
}
我相信这是由于 Runner 无法使用插件类路径进行查找造成的。我发现它RuntimeResourceSetInitializer
专门列出了 Java 类路径中的资源。显然,这里什么也找不到。
有人可以完成上面的示例或告诉我应该如何注入以使其顺利运行吗?