2020-07-09 gradle 编译spring源码

5.1.5版本编译Spring源码

1:工具下载

gradle下载

地址:https://services.gradle.org/distributions/

我选择的是 4.10.3 需要配置环境变量

  • GRADLE_HOME F:\gradle\gradle-4.10.3, GRADLE_USER_HOME F:\gradle\gradleRepository

  • path中增加%GRADLE_HOME%/bin;

  • 黑窗口 cmd 键入命令gradle -v 查看

  • 在F:\gradle\gradle-4.10.3\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
     }
 }
}

下载spring5源码

地址:https://github.com/spring-projects/spring-framework 我选择的是5.1系列

重点: idea 版本 2019.3.5 jdk 1.8.0.102

2:项目编译

idea配置好gradle

image-20200709210445978.png

导入项目修改配置

找到build.gradle

buildscript {
    repositories {
//
        maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public'}
        maven { url "https://repo.spring.io/plugins-release" }
        maven { url "https://plugins.gradle.org/m2/" }
    }
    dependencies {
        classpath("io.spring.gradle:propdeps-plugin:0.0.9.RELEASE")
        classpath("org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.16")
    }
}

开始预先编译第一个

进入源码目录 cmd下 执行命令: gradlew :spring-oxm:compileTestJava

这个过程可能会下载一个gradle的zip包(我第一次使用gradle),让它下载就好。

会出现

image-20200709211139014.png

开始编译源码

点击idea 上的 build --》build project

这个看网速了,网速给力,很快,最好是下午编译。马上就编译成功了,

中间可能会出现一些异常信息,如果版本 idea gradle jdk 和我一样,应该没啥问题,其余的无法保证了

  • 书写自己代码

新建一个module。Demo

第一步:在Demo的 gradle中增加      compile(project(":spring-context"))
第二步:写代码
public class HelloSpring {

    public void say(){
        System.out.println("hello Spring");
    }
}

public class TestMain {
    public static void main(String[] args) {

        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
        context.refresh();
        context.register(HelloSpring.class);
        HelloSpring helloSpring = (HelloSpring)context.getBean("helloSpring");

        helloSpring.say();

    }
}

点击run  就可以了。

点击run 就可以了。</pre>

此时可能会出现错误。

1:报错:找不到InstrumentationSavingAgent

因为你引入的是 spring-context

找到spring-context 的gradle 。然后找到引入InstrumentationSavingAgent所在模块的地方。把optional修改为compile

1594301726(1).jpg

完美了。


image-20200709212017017.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354