如何使用ONOS YANG Compiler将Yang转Java及解决编译报错问题
问题根源
你遇到的报错是onos-yang-maven-plugin 1.9版本的Windows系统兼容性缺陷:插件底层处理路径拆分时,直接使用未转义的反斜杠\作为正则分隔符,而Windows系统默认使用\作为路径分隔符,触发正则语法解析错误。
解决方案
方案1:升级插件版本(推荐)
将pom.xml中两处onos-yang-maven-plugin的版本从1.9升级为2.6.0,和你依赖的onos-api版本对齐,高版本已经修复了Windows路径分隔符的兼容问题:
- 依赖声明处的版本修改为2.6.0
- build插件声明处的版本修改为2.6.0
方案2:临时兼容(无法升级版本时使用)
执行maven命令时追加参数,强制使用正斜杠作为路径分隔符,同时修正yang文件命名的空格问题:
- 删除你
src/main/yang目录下openconfig-terminal-device.yang文件名前的多余空格 - 执行编译命令:
mvn clean install -Dfile.separator=/
方案3:兜底方案
如果以上两个方案都无法生效,可切换到WSL(Windows Subsystem for Linux)环境下执行编译,Linux环境默认使用/作为路径分隔符,不会触发该正则错误。
内容的提问来源于stack exchange,提问作者kobayashitk
相关产品推荐
相关产品推荐

