首页 > 解决方案 > 从 Sirius 内部运行 Acceleo

问题描述

我正在尝试从我的 Sirius Viewpoint Specification Project 的 Java 服务类中务实地运行一个简单的 Acceleo 生成。我可以从“运行配置”运行 Acceleo mtl,它工作正常,但是当我尝试从 Sirius Viewpoint Specification 项目中的 Java Servies 类执行它时,它不起作用。我正在使用 Generate.java(由 Acceleo 为我的 generate.mtl 文件创建)来运行它:-

URI modelURI = URI.createFileURI("C:/Users/Aon/runtime-EclipseApplication/fsys/My.fsys");

File targetFolder = new File("C:/Users/Aon/runtime-EclipseApplication/fsys.acceleo.module.sample/tasks");

Generate generator = new Generate(uri, targetFolder, Collections.emptyList());
generator.doGenerate(null);

谁能指导我如何去做?谢谢

更新

您好,感谢您的回复。Ilve 进一步尝试解决这个问题。为了清楚起见,让我添加更多细节。

  1. 我在 Eclipse 中创建了一个名为 fsys(用于文件系统)的简单元模型。由 2 个文件和文件夹类组成的父类。
  2. 然后我生成了编辑和编辑器代码并启动了运行时配置。
  3. 在运行时我创建了 3 个项目。a) 一个建模项目,我在其中创建了一个名为 my.fsys 的模式实例 b) 一个采用该模型并创建基本文本文件的 acceleo 项目(我使用 Acceleo 生成对其进行了测试,它工作正常) c) 我创建了一个Sirius Viewpoint 规范项目并使用其 Java 服务方法我想通过调用其 main 方法来访问 Acceleo Java 启动器类(它从 MTL 文件自动创建)。
  4. 我在 Sirius 项目的构建路径中添加了 Acceleo 项目作为依赖项。
  5. 现在当我运行该服务时,它给出了一个错误,它找不到我的模型(my.fsys)。
  6. 如果我使用的是本机 Eclipse 项目,在将它们添加到依赖项后,我不应该再次注册这些包,那么为什么它会出错?
  7. 我无法从 Siriu 的 Java 服务类的运行时启动调试器。
Exception in thread "main" org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: org.eclipse.emf.ecore.xmi.PackageNotFoundException:
 Package with uri 'http://www.example.org/fsys' not found. (file:/C:/Users/Aon/runtime-EclipseApplication/filnfol/My.fsys

项目详情

标签: acceleoeclipse-sirius

解决方案


推荐阅读