OpenDaylight中Hello World项目构建及运行报错求助
解决OpenDaylight Hello World项目构建报错问题
兄弟,我之前在ODL里搭Hello World项目的时候也碰到过一模一样的构建报错,折腾了好一阵才搞定,给你几个实用的排查和解决方向:
先确认原型版本与仓库的有效性
你用的1.6.0-SNAPSHOT是快照版本,这类版本不稳定且可能随时被移除,建议换成稳定版(比如1.5.3),同时确保仓库地址完整可用。重新生成项目的命令改成:mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller \ -DarchetypeArtifactId=opendaylight-startup-archetype \ -DarchetypeVersion=1.5.3 \ -DarchetypeRepository=http://nexus.opendaylight.org/content/repositories/opendaylight.release/优化构建命令,强制更新依赖
执行构建时加上-U参数,强制Maven更新快照依赖,避免本地缓存的旧依赖导致冲突。命令改成:mvn -nsu clean install -U另外,一定要检查你的Maven配置文件(
~/.m2/settings.xml)是否正确配置了ODL的镜像仓库,不然很容易出现依赖拉取失败的情况,添加以下配置到settings.xml的<mirrors>节点中:<mirrors> <mirror> <id>opendaylight-release</id> <mirrorOf>opendaylight-release</mirrorOf> <url>http://nexus.opendaylight.org/content/repositories/opendaylight.release/</url> </mirror> <mirror> <id>opendaylight-snapshot</id> <mirrorOf>opendaylight-snapshot</mirrorOf> <url>http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url> </mirror> </mirrors>检查本地环境版本兼容性
ODL的旧版本(比如你用的1.6.x系列)对JDK和Maven版本有严格要求:- 必须用JDK 1.8,用JDK11及以上版本会直接编译报错,用
java -version确认版本; - Maven建议用3.5.x或3.6.x版本,过高或过低的版本会和ODL的构建插件不兼容,用
mvn -v确认版本。
- 必须用JDK 1.8,用JDK11及以上版本会直接编译报错,用
避免混合不同教程的配置
你提到已经跟着两个不同的步骤操作,很可能项目的pom.xml里出现了重复或冲突的依赖配置。建议直接初始化一个全新的项目,跟着单一教程的步骤从头操作,不要混合不同教程的配置项。
内容的提问来源于stack exchange,提问作者user9686004
相关产品推荐
相关产品推荐

