You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Acceleo中使用UML2 4.0.0元模型遇包未找到错误求助

解决Acceleo中UML2 4.0.0元模型找不到的问题

你遇到的错误PackageNotFoundException是因为Acceleo无法在EMF注册表中找到UML2 4.0.0的元模型定义,以下是具体解决步骤:

1. 确保完整安装UML2 4.0.0开发插件

UML2的运行时插件不足以支持Acceleo开发,需要安装包含开发资源的完整包:

  • 打开Eclipse,进入Help > Install New Software
  • 添加Luna版本的更新站点(UML2 4.0对应Eclipse Luna):http://download.eclipse.org/releases/luna
  • 在搜索框输入UML2 SDK,勾选完整的UML2 SDK包(包含org.eclipse.uml2.uml.edit等开发必需插件),完成安装后重启Eclipse
  • 可通过Help > About Eclipse > Installation Details确认已安装org.eclipse.uml2.uml、org.eclipse.uml2.uml.edit、org.eclipse.uml2.common.edit这些插件

2. 配置Acceleo项目的插件依赖

  • 右键你的Acceleo项目,选择Properties > Plug-in Development > Dependencies
  • 在Required Plug-ins区域,点击Add,搜索并添加以下插件:
    • org.eclipse.uml2.uml
    • org.eclipse.uml2.uml.edit
    • org.eclipse.emf.ecore.xmi
  • 勾选每个插件的Reexport选项,确保Acceleo能访问到这些插件中的元模型定义

3. 手动注册UML2元模型(可选,若自动注册失效)

如果上述步骤后仍报错,可以在Acceleo的启动代码中手动将UML2元模型注册到EMF注册表:

import org.eclipse.uml2.uml.UMLPackage;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.resource.ResourceSet;

// 全局注册(适用于所有ResourceSet)
EPackage.Registry.INSTANCE.put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);

// 或针对当前使用的ResourceSet注册
resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);

4. 验证模型文件的命名空间URI

检查你的.uml模型文件,确保根元素的命名空间URI是http://www.eclipse.org/uml2/4.0.0/UML,避免版本号或域名拼写错误。

关于Acceleo Extender SDK的说明

UML2 4.0对应的Acceleo Extender SDK需安装Luna版本的(Acceleo 3.6),同样从Luna更新站点搜索Acceleo Extender SDK安装即可,无需单独找对应版本的Developer Resources插件。

内容的提问来源于stack exchange,提问作者Kaly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 20:22:23