首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Acceleo maven生成多个工件/项目

Acceleo maven生成多个工件/项目
EN

Stack Overflow用户
提问于 2013-04-17 16:00:19
回答 1查看 339关注 0票数 2

我正在尝试构建一个maven acceleo generator。生成器由多个acceleo项目(maven中的工件)组成,具有相互依赖关系。

我遇到了emtl文件之间的依赖关系问题。在运行时,我收到错误消息,指出mtl中存在编译错误(实际上并没有)。我猜可能是编译的emtl文件中的href。

有一个acceleo maven编译插件,它允许以下两种情况:

a)绝对路径(最终通过maven存储库)

b) 'platform:/plugin/...'路径。

(a)如果acceleo项目(maven工件)与我们进行生成的机器构建在同一台机器上,则可以工作,但如果maven存储库的位置发生变化,我们就会遇到问题。因此,部署maven工件最终是毫无意义的。

(b)无法工作,因为从maven内部运行,无法解析'platform:/plugin/'

我尝试覆盖AbstractAcceleoGenerator中的'createURIConverter'方法,然后使用URLClassLoader可以解码'platform:/plugin/' href并找到正确的emtl文件。我可以验证这似乎是有效的,但我仍然得到报告

代码语言:javascript
复制
"org.eclipse.acceleo.engine.AcceleoEvaluationException: Unresolved compilation error in generation module"

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-21 00:07:45

异常是由EMTL模型中的href解析为null引起的。

解析hrefs的问题是缺少注册的资源工厂(通知我这一点的异常在EcoreUtil.resolve中消失了,它捕获了异常"//无法解析被忽略。“-最无用的)。

因此,我的“覆盖‘createURIConverter’方法,并让它使用URLClassLoader解码‘platform:/plugin/..’的方法似乎起作用了。”

使用与AcceleoParserMojo中相同的方法构建URLClassLoader。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16054625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档