Gradle 5.0应用WidgetVersionPlugin创建manageVersion任务报空指针如何解决
问题排查方案
按优先级从高到低排查以下缺失配置:
- 检查项目是否初始化了Git仓库
绝大多数版本管理类Gradle插件生成版本号时依赖读取Git标签、提交哈希等信息,如果新项目尚未执行git init初始化仓库,插件读取Git信息时会直接抛出空指针。初始化Git仓库并提交一次后重新执行命令即可验证。 - 检查
gradle.properties中是否配置了公司通用必填属性
公司内部插件通常依赖预设的全局属性,比如s3_bucket、版本前缀、环境标识等通用配置,老项目的gradle.properties中默认携带这些配置,复用build.gradle时未同步复制该文件会导致插件读取属性时为空。 - 固定插件版本排除动态版本兼容性问题
你当前使用的插件依赖是动态版本3.3.+,可能拉取到了后续发布的有兼容问题的新版本。可将版本号写死为老项目正常运行的3.3.1,排除版本不一致导致的异常。 - 检查本地AWS认证配置权限
插件运行过程中如果需要访问S3存储桶拉取版本规则等配置,需要本地~/.aws/credentials中有对应S3桶的访问权限,且配置的region与桶所在region一致,权限缺失也会触发插件内部空指针。 - 验证项目结构是否符合公共插件要求
你引入的com.company.microservice.root.java公共插件默认是为微服务多模块项目设计的,如果新项目是单模块Lambda项目,结构不符合公共插件预期,会导致公共插件注入的属性未初始化,被WidgetVersionPlugin读取时抛出空指针。
内容的提问来源于stack exchange,提问作者Chris F
相关产品推荐
相关产品推荐

