从源码构建Beam 2.29.0时执行gradle build命令报错Unresolved reference: compile的问题求助
解决Beam 2.29.0源码构建时Gradle
compile引用错误的问题 嘿,这个问题我之前碰到过,根源很明确:你当前使用的Gradle 7.2已经彻底移除了compile依赖配置——这个配置早在Gradle 6.x就被标记为废弃,到7.x版本直接被移除了,但Beam 2.29.0的buildSrc脚本还在沿用旧的compile语法,和你的Gradle版本不兼容,所以才会报这些“Unresolved reference”错误。
具体修复步骤:
- 打开报错的构建文件:
/Users/Josefa/dev/code/example/beam-2.29.0/buildSrc/build.gradle.kts - 找到第38-40行,把所有的
compile替换成implementation,修改后的代码如下:
implementation(gradleApi()) implementation(localGroovy()) implementation("com.github.jengelman.gradle.plugins:shadow:6.1.0")
- 保存文件后,重新执行
gradle build命令就能正常构建了。
额外说明:
Gradle从5.x版本开始就推荐用implementation、api这类新的依赖配置替代旧的compile、testCompile,新配置能更好地控制依赖的可见性,还能优化构建速度。Beam 2.29.0发布于2021年,当时Gradle 7.x还没成为主流,所以脚本里保留了旧语法,你用了更高版本的Gradle就触发了这个兼容性问题。
内容的提问来源于stack exchange,提问作者Fabio
相关产品推荐
相关产品推荐

