spring5.X带注解源码导入

212 阅读1分钟

spring源码导入笔记:(url:github.com/wb02125055/… 1、在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        
		}
   }
}

2、编辑源码根目录下的build.gradle,注掉configurations.all ,增加为如下配置

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

3、编辑源码根目录下的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

4、为防止出现(Error:(30, 0) No such property: values for class: org.gradle.api.internal.tasks.DefaultTaskDependency错误) 在spring-beans目录下的spring-beans.gradle中将28行注解掉。

compileGroovy.dependsOn = deps - "compileJava"

5、在setting.gradle文件第一行添加如下配置

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

build顺序: core--oxm--context--beans--aspects--aop gradle工程--tasks--other-compileTestJava

自建module需要引入模块依赖 dependencies{ compile(project(":spring-context")) }

错误类型以及解决方案:

1、IDEA 编译Spring5源码时,报错:找不到InstrumentationSavingAgent 修改spring-context模块的gradle配置 optional(project(":spring-instrument"))改成compile(project(":spring-instrument"))