Spring Framework源码搭建报错:1、gradle版本不兼容,2、org.springframework.objenesis.xx 不存在

文章目录

    • 1、gradle版本不兼容
    • 2、org.springframework.objenesis.xx 不存在

在用Idea导入Spring Framework源码的时候出现了以下情况的错误:

1、gradle版本不兼容

由于Spring Framework源码是用gradle构建的,我们在选择gradle版本的时候,一定要用Spring Framework默认配置的gradle的版本,gradle版本在Spring Framework目录\spring-framework-5.1.0\gradle\wrapper\gradle-wrapper.properties下,如下图:
Spring Framework源码搭建报错:1、gradle版本不兼容,2、org.springframework.objenesis.xx 不存在_第1张图片上图显示Spring Framework源码默认配的gradle的版本是V4.8.1,最好也是用此版本构建Spring Framework,不然可能会出现不兼容的情况,那么如何配置成V4.8.1?如下图:
在Idea 点击 File | Settings | Build, Execution, Deployment | Build Tools | Gradle
Spring Framework源码搭建报错:1、gradle版本不兼容,2、org.springframework.objenesis.xx 不存在_第2张图片选择使用默认构建版本即可

2、org.springframework.objenesis.xx 不存在

在解决gradle版本不兼容的问题后,构建项目的时候又报类不存在的问题,如下显示:

Error:(20, 50) java: 程序包org.springframework.objenesis.instantiator不存在
Error:(21, 46) java: 程序包org.springframework.objenesis.strategy不存在
Error:(22, 46) java: 程序包org.springframework.objenesis.strategy不存在
Error:(35, 41) java: 找不到符号
  符号: 类 Objenesis
Error:(47, 23) java: 找不到符号
  符号:   类 InstantiatorStrategy
  位置: 类 org.springframework.objenesis.SpringObjenesis
Error:(49, 60) java: 找不到符号
  符号:   类 ObjectInstantiator
  位置: 类 org.springframework.objenesis.SpringObjenesis
Error:(68, 32) java: 找不到符号
  符号:   类 InstantiatorStrategy
  位置: 类 org.springframework.objenesis.SpringObjenesis
Error:(110, 20) java: 找不到符号
  符号:   类 ObjectInstantiator
  位置: 类 org.springframework.objenesis.SpringObjenesis
Error:(122, 23) java: 找不到符号
  符号:   类 ObjectInstantiator
  位置: 类 org.springframework.objenesis.SpringObjenesis

Spring Framework源码搭建报错:1、gradle版本不兼容,2、org.springframework.objenesis.xx 不存在_第3张图片原因是Spring Framework为了避免与cglib和objenesis冲突,将cglib和objenesis相关的包重新repack到org.springframework.cgliborg.springframework.objenesis包中,这部分的代码没有包含到源码当中。构建之前,可以通过添加Gradle任务来解决,见:https://github.com/spring-projects/spring-framework/blob/master/import-into-idea.md#known-issues和https://youtrack.jetbrains.com/issue/IDEA-160605
解决办法如下:
在右侧的Gradle面板Spring -> Tasks -> other -> cglibRepackJar
Spring Framework源码搭建报错:1、gradle版本不兼容,2、org.springframework.objenesis.xx 不存在_第4张图片
右键勾上Execute Before Build,如下图:
Spring Framework源码搭建报错:1、gradle版本不兼容,2、org.springframework.objenesis.xx 不存在_第5张图片
以及Spring -> Tasks -> other -> objenesisRepackJar,右键勾上Execute Before Build
Spring Framework源码搭建报错:1、gradle版本不兼容,2、org.springframework.objenesis.xx 不存在_第6张图片
最后激活任务,如下图:
Spring Framework源码搭建报错:1、gradle版本不兼容,2、org.springframework.objenesis.xx 不存在_第7张图片
Spring Framework源码搭建报错:1、gradle版本不兼容,2、org.springframework.objenesis.xx 不存在_第8张图片
点击ok等待任务完成,成功后,如下图显示:
Spring Framework源码搭建报错:1、gradle版本不兼容,2、org.springframework.objenesis.xx 不存在_第9张图片
最后重新构建一下项目就好啦!!!

参考文章:
https://www.cnblogs.com/zhangfengxian/p/11072500.html

你可能感兴趣的:(Spring,Framework)