将GroovyFX项目从Java8升级到OpenJDK17时Gradle配置报错
GroovyFX升级到OpenJDK 17的Gradle构建错误修复
问题根源
构建错误提示找不到compile配置,是因为Gradle 7+版本彻底移除了compile、runtime等旧依赖配置项,改用implementation、runtimeOnly等语义更明确的新配置。原代码中configurations.compile和configurations.runtime已不再有效。
修改方案
需要对build.gradle中的两处配置进行替换:
- 修正jansi配置的继承目标
原代码:
configurations { jansi.extendsFrom(runtime) }
修改为:
configurations { jansi.extendsFrom(runtimeOnly) }
- 修正demo源码集的依赖路径
原代码:
sourceSets { demo { compileClasspath += sourceSets.main.output + configurations.compile runtimeClasspath += sourceSets.main.output groovy { srcDir 'src/demo/groovy' } resources { srcDir 'src/demo/resources' } } }
修改为:
sourceSets { demo { // 用implementation替代旧的compile配置 compileClasspath += sourceSets.main.output + configurations.implementation // 可选:若demo运行时需要主源码集的运行依赖,可添加runtimeOnly runtimeClasspath += sourceSets.main.output + configurations.runtimeOnly groovy { srcDir 'src/demo/groovy' } resources { srcDir 'src/demo/resources' } } }
额外注意事项
- 确保使用的Gradle版本≥7.0,旧版本Gradle对OpenJDK 17的支持不完善,建议升级到Gradle 7.x或8.x稳定版。
- 若项目中还有其他使用
compile、runtime的地方,需要统一替换为对应的新配置项:compile→implementationruntime→runtimeOnlytestCompile→testImplementationtestRuntime→testRuntimeOnly
内容的提问来源于stack exchange,提问作者DbSchema
相关产品推荐
相关产品推荐

