解决Eclipse EMF模型加载异常:uri找不到的包问题
需积分: 14 82 浏览量
更新于2024-11-22
收藏 54KB DOC 举报
在Eclipse开发环境中遇到一个常见的问题,即"Package with uri not found.doc",这通常发生在试图加载或显示由EMF(Eclipse Modeling Framework)生成的模型时。EMF是一种用于构建领域特定语言和模型框架的工具,它允许开发者创建可序列化、可反序列化的模型,并通过XMI(XML Metadata Interchange)进行交换。
在这个具体场景中,用户 Ronald 在尝试创建一个插件,其中涉及到两个不同的EMF模型:一个是位于`nl.company.egen.model`包下的模型,另一个是`nl.company.egen.modeldef`包下的模型。用户已经创建了一个视图,该视图旨在打开并展示第二个模型(modeldef)。然而,在运行时,用户遇到了`org.eclipse.emf.ecore.xmi.PackageNotFoundException`错误,提示找不到名为`http:///nl/company/egen/modeldef.ecore`的包。
解决这个问题的关键点包括:
1. **包路径和命名规则**:
- EMF 包路径应该是相对项目路径的,而不是绝对URL。确保在`modeldef.ecore`文件的`<package>`元素中使用的URI路径与实际项目结构匹配。例如,如果这两个模型文件位于项目的`src/main/resources`下,路径应该是`modeldef.ecore`和`model.ecore`,而不是以HTTP开头的URI。
2. **包含和导出元模型**:
- 用户提到已经在`build/manifest`文件中包含了两个`ecore`文件(`model.ecore`和`modeldef.ecore`),但确保这些文件在编译时被正确处理。检查`MANIFEST.MF`文件中的`Bundle-ClassPath`和`Export-Package`部分,确保`nl.company.egen.modeldef`包及其子包被正确导出。
3. **模型生成与XMI**:
- 使用`xmi`标签定义的`http:///nl/company/egen/modeldef.ecore`可能是XMI文件的一个引用。确保模型已经被转换为XMI格式,并且这些XMI文件被包含在正确的目录结构中。有时候,如果模型没有经过预编译或者XMI文件没有被生成,就可能导致找不到指定的包。
4. **查看日志和错误详细信息**:
- 当遇到这样的异常时,查看Eclipse的错误日志会有帮助。检查是否有关于文件路径、包名不一致或缺失的详细信息,这可能有助于定位问题所在。
5. **更新到最新版本**:
- 如果使用的是EMF 2.2.0,确保已知的bug已修复,或者尝试更新到更高版本,可能会避免这类问题。
要解决这个问题,首先要确保模型文件路径的正确性,其次检查元数据和导出设置,然后排查是否所有依赖的XMI文件都存在并且正确配置。如果问题依然存在,进一步的调试可能需要查看Eclipse的日志和相关配置文件。通过这些步骤,应该能够定位并解决“Package with uri not found”这个错误。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2019-09-02 上传
2023-06-10 上传
2023-06-02 上传
2023-06-08 上传
2023-05-05 上传
2022-01-11 上传
shaxianwei
- 粉丝: 1
- 资源: 83
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录