使用gradle编译spring源码

找了半天,终于找到了成功的解决办法。特于此记录。

1.下载spring源码:

github地址: 码云地址:

github的童鞋,很慢!码云的童鞋飞起!!但是笔者给的是spring5.1.x的,想要看低版本的怎么办? 给个老铁的链接: []:

2.安装gradle:

  1. 官网(慢):
  2. 下载地址(快):
  3. 解压:
  4. 环境配置: 新建系统变量:
GRADLE_HOME
E:install-devgradle-5.6.3    ## 修改为自己的路径
 
        
 
 
        
 Path中添加信息:

  %GRADLE_HOME%in
   
           
    
   
           
    

  

  cmd查看gradle版本:gradle -v

  
          
   
           
    修改gradle配置: 
gradle根目录:init.d下,新建一个:init.gradle 文件,添加以下内容(为了下载包更快呗!) 

          
   

  allprojects{
             
      
    repositories {
             
      
        def REPOSITORY_URL = http://maven.aliyun.com/nexus/content/groups/public/
        all {
             
       ArtifactRepository repo ->
            def url = repo.url.toString()
            if ((repo instanceof MavenArtifactRepository) && (url.startsWith(https://repo1.maven.org/maven2) || url.startsWith(https://jcenter.bintray.com))) {
             
      
                project.logger.lifecycle Repository ${repo.url} replaced by $REPOSITORY_URL .
                remove repo
            }
        }
        maven {
             
      
            url REPOSITORY_URL
        }
    }
}
   
           
    
   
           
    
            
     
             
      
              
       修改spring源码根目录下build.gradle文件:将原来的信息替换成以下的信息
             
      

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

    

    3.构建源码:

    
             
      
              
       在源码根目录有一个文件:import-into-idea.md(别理它,我们继续!!)
             
      

    1. Precompile `spring-oxm` with `./gradlew :spring-oxm:compileTestJava`
2. Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)
3. When prompted exclude the `spring-aspects` module (or after the import via File-> Project Structure -> Modules)
4. Code away

cmd到spring源码下:执行gradlew :spring-oxm:compileTestJava,然后体验一下速度吧!! 出现如图所示的,构建成功了!接下来导入idea了!!

4.导入idea:

  1. File -> New -> Project from Existing Sources -> 找到选择spring-framework源码 -> 选择build.gradle
  2. 笔者的打开之后,idea配置gradle: File->setting->gradle 点击ok,右下角开始加载包,但是还是慢!!最后修改:gradle.properties配置文件:
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true

在JDK1.8中-XX:MaxPermSize=512m无效,因为JDK1.8没有永久代的说法,取而代之的是元空间概念,因此可以改为:-XX:MaxMetaspaceSize=512m,设置参数主要是编译下载包会占用大量的内存,可能会内存溢出。笔者会写相关的文章哦!!

转载:

经验分享 程序员 微信小程序 职场和发展