时间:2021-05-19
spring Boot源码编译
下载:git clone git@github.com:spring-projects/spring-boot.git,建议下载release版本,不会出现奇奇怪怪的错误
2.修改下载源,
gradle\wrapper中的配置文件
gradle-wrapper.properties
distributionBase=GRADLE_USER_HOMEdistributionPath=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.zipzipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsbuildSrc下的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.8targetCompatibility = 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=gradlePropertiesValuesysProp=shouldBeOverWrittenBySysPropsystemProp.system=systemValueorg.gradle.caching=falseorg.gradle.jvmargs=-Xms2048m -Xmx4096m org.gradle.parallel=trueorg.gradle.daemon=trueorg.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}" } } }}在编译的时候点击取消,配置idea
3.开始编译
至此撒花编译成功!
不过后面还有好长时间的检测,不知道是什么鬼??
到此这篇关于Spring-boot 2.3.x源码基于Gradle编译过程详解的文章就介绍到这了,更多相关Spring-boot 2.3.x源码内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
spring-boot是基于spring框架的,它并不是对spring框架的功能增强,而是对spring的一种快速构建的方式。spring-boot应用程序提供
项目升级到springboot2.3之后,参数校验的注解报错,发现spring-boot-starter-web的依赖项已经去除了依赖点开spring-boot
上篇使用docker构建spring-boot应用,是把编译好的jar包构建到镜像中。这篇是把spring-boot连同数据库,做为一组docker服务运行起来
了解过spring-Boot这个技术的,应该知道Spring-Boot的核心配置文件application.properties,当然也可以通过注解自定义配置文
1.什么是spring-boot-devtoolsspring-boot-devtools是spring-boot项目开发时的一个热部署工具,安装了spring