Spring-boot 2.3.x 소스 코드 는 Gradle 컴 파일 과정 에 대한 상세 한 설명 을 바탕 으로 합 니 다.

spring 부 트 소스 코드 컴 파일
1.git 최신 버 전의 spring Boot 를 위아래 로 당 깁 니 다.
git [email protected]:spring-projects/spring-boot.git,release 버 전 을 다운로드 하 는 것 을 권장 합 니 다.이상 한 오류 가 발생 하지 않 습 니 다.
在这里插入图片描述
2.다운로드 원본 수정,
gradle\wrapper 의 프로필
gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
#distributionUrl=https\://services.gradle.org/distributions/gradle-6.4-bin.zip
//  Gradle       gradle     gradle     
//        gradle    ,      ,    gradle-4.9   ,    gradle-api plugins  ,     ,          
distributionUrl=file:///E:/Gitee_repository/Java_Sources_Code_Study/Spring-Boot-2.3.1/gradle-6.5.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
buildSrc 의 build.gradle

plugins {
	id "java-gradle-plugin"
	//          ,   ,    
	//id "io.spring.javaformat" version "${javaFormatVersion}"
	id "checkstyle"
}

repositories {
	maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
	maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
	maven { url "https://repo.spring.io/plugins-release" }
	mavenCentral()
	gradlePluginPortal()
	maven { url "https://repo.spring.io/release" }
}

sourceCompatibility = 1.8
targetCompatibility = 1.8
.......
settings.gradle

pluginManagement {
	repositories {
		maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
		maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
		maven { url "https://repo.spring.io/plugins-release" }
		mavenCentral()
		gradlePluginPortal()
	}
	resolutionStrategy {
		eachPlugin {
			if (requested.id.id == "io.spring.javaformat") {
				useModule "io.spring.javaformat:spring-javaformat-gradle-plugin:${requested.version}"
			}
		}
	}
}
gradle.properties

javaFormatVersion=0.0.22
#      ,  heap         
gradlePropertiesProp=gradlePropertiesValue
sysProp=shouldBeOverWrittenBySysProp
systemProp.system=systemValue
org.gradle.caching=false
org.gradle.jvmargs=-Xms2048m -Xmx4096m 
org.gradle.parallel=true
org.gradle.daemon=true
org.gradle.configureondemand=true
루트 디 렉 터 리 의 build.gradle

//      
buildscript {
	repositories {
		maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
		maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
		maven { url "https://repo.spring.io/plugins-release" }
	}
}

allprojects {
	group "org.springframework.boot"

	repositories {
		maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
		maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
		mavenCentral()
		if (!version.endsWith('RELEASE')) {
			maven { url "https://repo.spring.io/milestone" }
		}
		if (version.endsWith('BUILD-SNAPSHOT')) {
			maven { url "https://repo.spring.io/snapshot" }
		}
	}

	configurations.all {
		resolutionStrategy.cacheChangingModulesFor 60, "minutes"
	}
}
seetings.gradle

pluginManagement {
	repositories {
		maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
		maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
		mavenCentral()
		gradlePluginPortal()
		maven {
			url 'https://repo.spring.io/plugins-release'
		}
		if (version.endsWith('BUILD-SNAPSHOT')) {
			maven { url "https://repo.spring.io/snapshot" }
		}
	}
	resolutionStrategy {
		eachPlugin {
			if (requested.id.id == "org.jetbrains.kotlin.jvm") {
				useVersion "${kotlinVersion}"
			}
			if (requested.id.id == "org.jetbrains.kotlin.plugin.spring") {
				useVersion "${kotlinVersion}"
			}
		}
	}
}
2.아이디어 도입
컴 파일 할 때 취 소 를 누 르 면 아이디어 설정
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.컴 파일 시작
在这里插入图片描述
이로써 꽃 을 뿌 려 컴 파일 에 성공 하 였 습 니 다!
在这里插入图片描述
그런데 뒤에 검사 가 오래 남 았 는데 무슨 귀신 인지 모 르 겠 어 요?
在这里插入图片描述
Spring-boot 2.3.x 소스 코드 가 Gradle 컴 파일 과정 에 대한 상세 한 설명 을 바탕 으로 하 는 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Spring-boot 2.3.x 소스 코드 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기