如何使用OpenDaylight Nitrogen Archetype创建适配该版本的应用?
解决OpenDaylight Archetype生成Nitrogen版本应用的问题
我明白你现在的困扰:用archetype:generate命令总是生成Carbon版本的应用,而你想要适配Nitrogen版本的项目。其实核心问题是Archetype版本和ODL发行版的对应关系没匹配对,咱们一步步来解决:
1. 先理清版本对应规则
OpenDaylight的发行版和对应的Maven Archetype版本是严格绑定的:
- Carbon(0.6.x系列)对应Archetype版本1.3.x
- Nitrogen(0.7.x系列)对应Archetype版本1.4.x
你之前用的1.3.3-SNAPSHOT属于Carbon的Archetype版本,所以自然生成的是Carbon项目,这就是问题的根源。
2. 使用正确命令生成Nitrogen项目
直接用Nitrogen对应的稳定Archetype版本(比如1.4.4,这是Nitrogen SR4的稳定版)执行命令:
mvn archetype:generate \ -DarchetypeGroupId=org.opendaylight.controller \ -DarchetypeArtifactId=opendaylight-startup-archetype \ -DarchetypeVersion=1.4.4 \ -DgroupId=com.yourcompany.yourproject \ -DartifactId=your-odl-app \ -Dversion=1.0.0-SNAPSHOT
3. 验证生成结果
生成完成后,打开项目根目录的pom.xml,检查父依赖的版本:
<parent> <groupId>org.opendaylight.odlparent</groupId> <artifactId>odlparent</artifactId> <version>0.7.4</version> <!-- 0.7.x就是Nitrogen的版本标识 --> <relativePath/> </parent>
如果看到0.7.x的版本号,说明已经成功生成Nitrogen兼容的项目了。
4. 常见问题排查
- 优先用稳定版而非
SNAPSHOT:除非你需要测试开发中功能,否则别用带SNAPSHOT的版本,避免版本不稳定导致的异常 - 检查Maven仓库配置:确保你的
settings.xml能正常访问OpenDaylight的Maven仓库,否则可能拉取错误的依赖版本 - 自定义发行版适配:之后如果要在自定义Nitrogen发行版中导入其他项目,记得所有依赖版本统一为Nitrogen的
0.7.x系列,避免版本冲突
内容的提问来源于stack exchange,提问作者Kevin Costa
相关产品推荐
相关产品推荐

