前言
大部分平时使用的是maven构建 但是源码级别的用的是更加重量级的Gradle构建,本次学习源码,第一步就学到了很多的知识,加油!!!
源码下载地址
我选择是2.3.2.RELEASE,根据需要下载
springboot源码官方下载
项目构建工具Gradle下载地址
Gradle官方下载
也可以去这里下载 gradle下载
注意:如果是源码的哈,对兼容性不了解的哈 就是用源码推荐的Gradle版本,
如:spring-framework-5.2.8.RELEASE源码工程
就在这里
spring-framework-5.2.8.RELEASE\gradle\wrapper\gradle-wrapper.properties
解压到目录,这里一定要解压,
虽然引入的是zip,但是我发现如果不解压,idea会构建时会再去下载一个同样版本Gradle。[观察启动构建输出就知道了]
这里更改的目的:防止每次构建都去下载Gradle。
设置环境变量
解压到目录,这里一定要解压,
虽然引入的是zip,但是我发现如果不解压,idea会构建时会再去下载。
GRADLE_HOME=D:\gradle\gradle-3.4.1
PATH=%GRADLE_HOME%\bin
gradle -v
修改默认缓存目录
修改Gradle默认缓存目录可使用命令gradle -g 目录路径,例如gradle -g C:\gradle.gradle
修改全局默认仓库,下载源地址修改
SpringBoot的gradle脚本比Spring更好一些,只需要修改release目录下的settings.gradle和build.gradle。
在2个文件里面搜索mavenCentral,加入阿里云源,感谢阿里。这个地址可能变,自己在下面链接查下最好。
maven { url 'https://maven.aliyun.com/repository/central'}
maven { url 'https://maven.aliyun.com/repository/public' }
build.gradle
settings.gradle
修改gradle离线下载配置
distributionUrl=file:///E:/FreeInstall/gradle-7.3.1-all.zip
可以去这里下载 gradle下载
)
设置idea的参数
jdk参数
)
)
gradle参数
)
问题1 Task :buildSrc:checkFormatMain FAILED
Task :buildSrc:checkFormatMain FAILED
Execution failed for task ‘:buildSrc:checkFormatMain’.
Formatting violations found in the following files:
)
分析:文件类型错误
解决办法:修改 /buildSrc/build.gradle,注释掉即可。
plugins {
id "java-gradle-plugin"
//TODO 文件格式化问题可以注释此行
//id "io.spring.javaformat" version "${javaFormatVersion}"
id "checkstyle"
}
问题2 io.spring.gradle-enterprise-conventions 找不到问题
解决办法:
修改主目录下 setting.gradle ,注释掉即可。
plugins {
id "com.gradle.enterprise" version "3.3.3"
// id "io.spring.gradle-enterprise-conventions" version "0.0.3"
}
问题3 Task :buildSrc:test FAILED
从错误提示入手,拷贝这一段地址在浏览器打开,如下图所示,是一段测试报告。
错误分析:org.opentest4j.AssertionFailedError
分析:我目前是spring-boot 应该依赖spring-framework工程 ,在spring-framework可看到aop源码,说明不属于boot本身的就全部依赖来搞定,要看aop源码 只有下载spring-framework工程才能看到。
构建完成用时统计
重新构建,成功了!大约几分钟就可以把jar下载完成,前提是使用的最新的阿里云地址maven。
如果使用的老的阿里云Maven就比较慢,大约30分钟-1小时之间。
所以赶紧用的新的吧!!
本次Gradle构建使用了7分39秒338毫秒 。
最终完成效果
gradle构建jar默认存储位置
Windows系统默认下载到:C:\Users(用户名).gradle\caches\modules-2\files-2.1
源码smoke-test冒烟测试
在springboot-boot-tests模块下随便找一个spring-boot-smoke-test-hibernate52工程来进行冒烟测试,打开Hibernate52Application.java文件,直接执行main方法启动springboot,成功!