0%

idea导入spring源码

idea导入spring源码,导入时出现一些问题的解决

idea导入spring源码

此次导入的环境:

​ Idea:2018.3.3

​ jdk:1.8.0_131

​ gradle:4.6

​ Spring-framework 5.0.7

官方源码导入步骤:

1.搭建环境

  1. 下载源码

    https://github.com/spring-projects/spring-framework

  2. 下载gradle

    http://downloads.gradle.org/distributions/gradle-4.6-bin.zip

    最好用4G网下载,稳定,不容易失败

  3. 配置gradle环境变量 按照第一篇博客配置gradle环境变量

    1. 配置变量

      添加GRADLE_HOME变量:D:\development\gradle-4.6

      GRADLE_HOME到Path变量 : %GRADLE_HOME%\bin

      配置gradle工厂,添加GRADLE_USER_HOME 变量: %GRADLE_HOME%\.gradle

    2. 检测

      image-20200613163121207

2.下载依赖并预编译一些源码

进入源码目录:cmd输入.\gradlew :spring-oxm:compileTestJava,中间可能出现连接断开,需要再次输入。等待一会,10分钟左右

image-20200612170443764

3.open project

image-20200612143119648

选项配置:

image-20200612143258195

image-20200612143359736

gradle中过程中报错

1.遇到第一个问题

4.build project

gradle结束后,build项目时报错。

遇到AspectJ的问题,请查看issues

issues

第一个问题:

报错:

1
No such property: values for class: org.gradle.api.internal.tasks.DefaultTas

解决方法:

点击open file,注释掉spring-beans.gradle倒数第二行和第三行。

image-20200613173049016

image-20200611183343723

解决后:

开始下载依赖,下载很长时间,4G网半小时左右

image-20200611183803599

问题:Error:java: Compilation failed: internal java compiler error

image-20200613184804031

第二个问题

缺少两个包

1
2
3
4
5
6
Warning:Kotlin: Classpath entry points to a non-existent location: D:\han\project\spring-framework-5.0.7.RELEASE\spring-core\build\libs\spring-cglib-repack-3.2.6.jar

D:\han\project\spring-framework-5.0.7.RELEASE\spring-core\src\main\java\org\springframework\cglib\core\SpringNamingPolicy.java
Error:(30, 41) java: 找不到符号
符号: 类 DefaultNamingPolicy
Error:(34, 9) java: 方法不会覆盖或实现超类型的方法

第一种解决方法:

Add Hooks for Before Gradle Import

官方文档https://youtrack.jetbrains.com/issue/IDEA-160605

官方添加的内容:

image-20200612115207945

我添加的内容:

少添加了一个spring下的genXmlbeans,因为找不到

image-20200612115416599

添加步骤:

1.打开idea的gradle视图

image-20200612115822785

2.添加hooks

image-20200612115007891

image-20200612115048276

image-20200612114758749

刷新gradle

image-20200612133911713

等待几分钟

AspectJ的问题

  1. 移走 unload

    image-20200612173712719

  2. 重新编译

    image-20200612173748663

  3. 编译成功

    image-20200612173622416

有注释的残缺源码导入

1.搭建环境

同上

2.预编译源码

源码目录下,双击gradlew.bat

image-20200612143004534

3.open project

同上

4.build project

2.第二个问题 请查看issues