spring源码编译


今天将为大家介绍spring源码编译的过程,用spring 5.2.13进行了验证,spring源码官方默认使用gradle进行编译,所以下文将结合gradle进行步骤介绍

 

步骤1:首先登录spring官网Spring | Home选择projects->springframework进入下图所示页面,点击图中右上角的猫的图标进入spring的github下载页面

 

步骤2:下载对应版本的spring源码包,以5.3.12为例

   进入Release v5.2.13.RELEASE · spring-projects/spring-framework (github.com)

 

 

 点击上图中最下方的Sorce Code(Zip)包进行源码下载

 

步骤3:选择对应版本的gradle,下载gradle

  首先查看gradle版本:查看文件位于:如spring-framework-5.2.13.RELEASE\gradle\wrapper\gradle-wrapper.properties,打开gradle-wrapper.properties文件,

      其distributionUrl行记录有gradle的版本号,到gradle官网进行对应下载,并配置环境变量(此处略,不清粗可以百度)

步骤4:修改gradle-wrapper.properties文件中distributionUrl为本地下载的gradle路径,如

  distributionUrl=file:///d:/software/gradle-5.6.4-bin.zip

步骤5: 修改spring-framework-5.2.13.RELEASE目录下的build.gradle和setting.gradle文件

    1:build.gradle文件修改

    找到build.gradle,找到如下位置进行对应修改,(因为编译过程中需要下载对应的依赖包,用国内的仓库下载速度相对比较快)
    (阿里云仓库概览网址为:https://developer.aliyun.com/mvn/guide)


      repositories {
        maven { url "https://maven.aliyun.com/repository/public" }
        maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
        mavenCentral()
        maven { url "https://repo.spring.io/libs-spring-framework-build" }
      }

 

    2:同理,修改setting.gradle文件

    pluginManagement {

    repositories {
      maven { url "https://maven.aliyun.com/repository/public" }
      maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
      gradlePluginPortal()
      maven { url 'https://repo.spring.io/plugins-release' }
      }
    }

步骤6:打开spring-framework-5.2.13.RELEASE目录下的import-into-idea.md文件,参考文件中的说明进行编译

    执行  gradlew :spring-oxm:compileTestJava

  注意:此处如为windows系统,需要到gradlew.bat文件存放位目录进行cmd,进行执行

步骤7:执行成功后,打开ideal,在已有任意idea项目下进行gradle配置,

 

其中 Gradle user home为gradle的本地仓库

上图下方的Use Gradle from 配置本地的gradle路径

步骤7: 将spring源码包导入ideal进行编译

 

 

 如上图所示,选中源码包中的build.gradle文件,ideal进行自动编译

 

步骤8:成功后,手动编译spring-core模块

 

 

 

 在ideal右边,选中gradle,手动执行spring-core模块的other-》compileTestJava进行编译(任意模块都可以按spring-core模块的编译方法进行编译)

 

编译完成后,能看到每个模块下有一个build文件夹,下面的lib文件夹存放了编译后形成的对应jar包

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM