spring5.x.x源码编译完后,spring-beans项目运行compileTestJava报循环依赖错误

 错误: 

Circular dependency between the following tasks:
:spring-beans:compileGroovy
\--- :spring-beans:compileJava
     \--- :spring-beans:compileKotlin
          \--- :spring-beans:compileGroovy (*)

 

网上看到有spring-beans.gradle 3行都加注释: 

def deps = compileGroovy.taskDependencies.immutableValues + compileGroovy.taskDependencies.mutableValues

compileGroovy.dependsOn = deps - "compileJava"

compileKotlin.dependsOn(compileGroovy)

 

又会报错/spring-beans/src/main/kotlin/org/springframework/beans/factory/ListableBeanFactoryExtensions.kt: (67, 37): Unresolved reference: ListableBeanFactory

在文件 spring-beans.gradle 添加以下 code:

// 从master分支copy的代码
tasks.named('compileGroovy') {
// Groovy only needs the declared dependencies (and not the result of Java compilation)
classpath = sourceSets.main.compileClasspath
}
tasks.named('compileKotlin') {
// Kotlin also depends on the result of Groovy compilation
classpath += files(sourceSets.main.groovy.classesDirectory)
}

添加以后运行 compileTestJava, 编译成功.

我使用的是spring5.0.2, 编译成功.

Reference: https://bbs.csdn.net/topics/394784880

 

使用spring5.2.12编译会报错: 

需要下载安装AspectJ

Reference: https://blog.csdn.net/springhao123/article/details/88863931


版权声明:本文为lijunlinlijunlin原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。