如何编译spring-framework 5.x 源码

环境 jdk1.8或者jdk11  spring-framework源码里面自带gradle 执行会为你自动配置

官网地址

https://spring.io/projects/spring-framework

1、打开spring官方 githubhttps://github.com/spring-projects/spring-framework/tree/v5.2.0.RELEASE下载5.2版本的spring源码解压

2、修改目录build.gradle文件加入阿里云远程仓库

repositories {
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
        maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'} 
    }

3、预编译spring-oxm./gradlew :spring-oxm:compileTestJava

   进入目录windows执行 gradlew :spring-oxm:compileTestJava  如图 下载完成

3、导入IntelliJ(文件->新建->现有源项目->导航到目录->选择build.gradle)

扫描二维码关注公众号,回复: 13065817 查看本文章

   接着导入idea  如果是老版的ide选gradle 如2019版本 如果是新版的直接open如2020版本

等待下载完成

4、出现提示时,排除spring-aspects模块(或在通过“文件”->“项目结构”->“模块”导入后)

 右键 spring-aspects项目

选中load/upload moduls...

点击upload

这样就ok了

5、拿走代码

  这样就完成编译了  

遇到的问题

如果引用包引入不进 需要执行

gradlew -a:spring-core:test
gradlew -a:spring-oxm:test

已知的问题

  1. spring-corespring-oxm由于重新打包的依赖关系而应进行预编译。请参阅*RepackJar构建中的任务和https://youtrack.jetbrains.com/issue/IDEA-160605)。
  2. spring-aspects由于对IntelliJ IDEA未知的方面类型的引用而无法编译。有关详细信息,请参见https://youtrack.jetbrains.com/issue/IDEA-64446。同时,可以从项目中排除“弹簧方面”,以避免编译错误。
  3. 虽然JUnit测试是通过Gradle从命令行传递的,但是从IntelliJ IDEA运行时某些测试可能会失败。解决这一问题正在进行中。如果尝试从IntelliJ IDEA中运行所有JUnit测试,则可能需要设置以下VM选项,以避免出现内存不足错误:-XX:MaxPermSize = 2048m -Xmx2048m -XX:MaxHeapSize = 2048m
  4. 如果您在IDE中调用“重建项目”,则必须再次生成该spring-oxm模块的一些测试资源(./gradlew :spring-oxm:compileTestJava

猜你喜欢

转载自blog.csdn.net/qq_39313596/article/details/115331835