美文网首页
2020-07-09 gradle 编译spring源码

2020-07-09 gradle 编译spring源码

作者: Spring_java | 来源:发表于2020-07-09 21:30 被阅读0次

    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

    相关文章

      网友评论

          本文标题:2020-07-09 gradle 编译spring源码

          本文链接:https://www.haomeiwen.com/subject/ralecktx.html