编译Spring5.2.0源码

下载 spring-framework-5.2.0.RELEASE.zip

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

下载gradle 5.6.3 按照说明配置环境变量

https://gradle.org/install/

解压zip、查看根目录下的 import-into-idea.md

执行脚本 (windows 系统)

.\gradlew.bat :spring-oxm:compileTestJava

成功之后、使用IDEA打开

编译Spring5.2.0源码_第1张图片

编译Spring5.2.0源码_第2张图片

成功打开项目之后,我们将 spring-aspects 模块unload

编译Spring5.2.0源码_第3张图片

然后我们可以新建一个我们自己使用的模块

打开 project structuer

编译Spring5.2.0源码_第4张图片

然后我们为这个新建的模块引入一些我们需要用到的 Spring 的一些 jar 包

编译Spring5.2.0源码_第5张图片

在我们的新模块中使用 Spring 的时候、可能会出现下面的问题

java: cannot find symbol
  symbol:   variable CoroutinesUtils
  location: class org.springframework.core.ReactiveAdapterRegistry.CoroutinesRegistrar
  Error:(348, 51) java: cannot find symbol
  symbol:   variable CoroutinesUtils
  location: class org.springframework.core.ReactiveAdapterRegistry.CoroutinesRegistrar

解决办法

把这个 spring-core/kotlin-coroutines/build/libs/kotlin-coroutines-5.2.0.RELEASE.jar引入到项目中即可

第二个可能出现的问题

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/cglib/core/NamingPolicy		

将 spring core 中的 build/libspring-cglib-repack-3.3.0.jarspring-objenesis-repack-3.0.1.jar引入到新增的模块中

到此为止我们就能够在新建的模块中正常的使用 Spring 了

编译Spring5.2.0源码_第6张图片

你可能感兴趣的:(Spring)