用Gradle构建spring源码项目
版本:
JDK 1.8
Gradle :gradle-5.6.3-all.zip
Spring 5.2.1
1.配置JDK环境和配置Gradle环境,这个就不说了网上一大片都是。
2.下载源码:git clone -b 5.2.1 https://github.com/spring-projects/spring-framework.git 这个命令就可以,也可以去github或者Gitee上载ZIP包
3.下载spring源码包中,配置gradle.properties把原来下载Gradle的那行代码注释掉,重新写上自己下载下来的Gradle zip包,这样可以避免重复下载Gradle包
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=file:///d:/Environment/gradle-5.6.3-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
4.打开build.gradle文件(这个就相当于是maven的pom文件),在文件头部加上Spring插件库
1).buildscript {
repositories {
maven { url "https://repo.spring.io/plugins-release" }
}
}
2).然后继续寻找,找到如下代码段,添加对应代码,配置阿里云镜像加速依赖和Spring插件库
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
maven { url "https://repo.springsource.org/plugins-release" }
5。在导入Idea之前,首先我们要用cmd进入到Spring目录,然后用gradlew :spring-oxm:compileTestJava将spring 转成 IDEA 可以导入的工程结构。
6.配置idea中gradle环境
打开Idea,配置Gradle环境,【File】->【Settings】,设置Gradle,Gradle user home这个目录这里我设置的刚 安装的gradle目录。如果不设置的话,它默认是C:\Users\用户名.gradle,这个目录你就可以认为相当于 是我们的本地的maven仓库,gradle编译项目所依赖的jar都会下载后放入这个目录中。JVM默认我这里就是jdk8,jdk至少就是jdk8。
7.导入idea中 导入时会有下载依赖,需要时间等待
报错处理(未遇到,可跳过)
遇到这个问题时:POM relocation to an other version number is not fully supported in Gradle : xml-apis:xml-apis:2.0.2 relocated to xml-apis:xml-apis:1.0.b2.
尝试在项目根目录下的build.gradle文件中添加如下代码,指定xml-apis的版本为1.0.b2
configurations.all {
resolutionStrategy {
force 'xml-apis:xml-apis:1.0.b2'
}
}
build完成后可以创建自己的moudle来测试
采用gradle创建,点击下一步即可
创建成功,需要在自己创建的moudle中找到build.gradle,在其中添加依赖
dependencies {
//添加完要构建一下,否则代码中无法引用,注意不要忘了
compile(project(":spring-context"))
compile(project(":spring-beans"))
compile(project(":spring-core"))
compile(project(":spring-aop"))
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
}
创一个user实体
创建javaConfig
创建测试类
启动测试类,如果出现success,有输出就证明成功了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!