OpenDaylight项目Maven原型选型疑问:何时使用不同Darchetype参数
OpenDaylight Archetype 选择指南
嘿,我来帮你理清不同OpenDaylight Archetype的适用场景,这样你就能根据自己的需求选对工具啦~
首先你现在用的opendaylight-startup-archetype(groupId是org.opendaylight.controller),是ODL官方最推荐的通用入门骨架,专门给刚接触ODL的开发者准备的——它会帮你把核心框架(比如MD-SAL、基础控制器组件)的依赖、项目结构甚至初始化配置都搭好,用来跑Hello World这类入门示例简直完美,你选的Carbon 1.3.0版本也是个很稳定的经典版本。
接下来聊聊你提到的其他Archetype:
不同GroupId的适用场景
1. org.opendaylight.controller 下的其他Archetype
这个groupId对应的是ODL核心控制器项目,除了入门用的startup archetype,还有个常用的md-sal-app-simple:
- 这个是轻量化的MD-SAL应用骨架,如果你已经摸透了ODL的基础逻辑,只想快速搭建一个聚焦于MD-SAL开发的项目(比如定义Yang模型、实现数据存储、写RPC服务),它会比startup archetype更简洁——去掉了一些入门用的冗余配置,直接给你最核心的MD-SAL开发模板。
2. org.opendaylight.l2switch 下的Archetype
这个groupId属于ODL的二层交换机(L2Switch)子项目,对应的archetype是为二层网络功能开发量身定做的。比如你要做MAC地址学习、VLAN管理、二层转发这类和二层交换相关的功能,用这个archetype就省心多了——它已经预置了L2Switch相关的依赖、基础代码结构,不用你手动去搜一堆相关依赖来引入。
快速选择思路
- 👉 新手入门/跑基础示例:选
opendaylight-startup-archetype,一步到位搭好完整基础框架 - 👉 专注MD-SAL应用开发:选
md-sal-app-simple,轻量化更高效 - 👉 开发特定领域功能:找对应领域项目的GroupId(比如L2Switch、路由、南向适配等),它们的Archetype会提供该领域的预置模板,减少重复工作
内容的提问来源于stack exchange,提问作者Haitham
相关产品推荐
相关产品推荐

