【发布时间】:2018-12-02 10:06:57
【问题描述】:
我是 gradle 新手。
我在新计算机上获取了一个基于 gradle 的旧项目,当我尝试构建它时,它以“Could not determine java version from '11'.”失败。我使用gradlew wrapper --gradle-version 5.0(来自最近的系统范围的 gradle 安装)将 gradle 版本更新为 5.0。现在任何 gradle 命令都失败了:
> Configure project :
Cannot resolve reloading agent JAR: Failed to resolve imported Maven boms: Cannot resolve external dependency org.springframework.boot:spring-boot-starter-parent:1.5.12.RELEASE because no repositories are defined.
在我的 build.gradle 中,定义了一个仓库,所以我不明白错误:
buildscript {
repositories {
jcenter()
mavenLocal()
maven { url "https://repo.grails.org/grails/core" }
}
dependencies {
...
}
}
repositories {
mavenLocal()
maven { url "https://repo.grails.org/grails/core" }
}
【问题讨论】:
-
我假设,这是一个 grails 3 项目? Gradle 5 是全新的,Grails 3 项目的默认设置仍然是 Gradle 3(上次我检查过)。所以你可能不得不反其道而行之:将你的 Java 降级到 8(例如,使用 SDK-MAN 或 docker 等)。 Grails 为 Gradle 带来了额外的东西,这是旧的东西 - 所以我最怀疑的是,你将有一个愉快的更新之旅。
-
Gradle 4.9 在 Grails 3.3.6 下仍然可以正常工作,但有一些警告。
-
使用 gradle 4.9 和 grails 3.3.6,编译
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.reflection.ReflectionCache时出现此堆栈跟踪错误