最简单的spring-framework-5.1.x源码编译教程

本文档详细介绍了如何编译Spring Framework 5.1.x,包括所需环境、可能遇到的问题及解决办法。推荐使用IDEA 2019.3.3、JDK 11、Gradle 4.10.3。编译前需配置build.gradle文件,添加国内镜像源,并调整相关版本以避免版本冲突。执行编译命令为 './gradlew build -xtest --info',并提供了IDEA导入项目的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:编译会持续很久,而且可能会因为网络封锁导致超时编译失败,请耐性重试。

编译环境: 

IDEA-2019.3.3
JDK-11 //版本太高不兼容,无法编译
spring-framework-5.1.x
gradle-4.10.3 //本地没有额外安装是spring-framework-5.1.x内置的,建议使用此版本
//以下是gradle-4.10.3里面包含的版本
Kotlin DSL:   1.0-rc-6
Kotlin:       1.2.61
Groovy:       2.4.15
Ant:          Apache Ant(TM) version 1.9.11 compiled on March 23 2018
JVM:          11.0.9 (Oracle Corporation 11.0.9+7-LTS)
OS:           Windows 10 10.0 amd64

注意:建议使用与我相同的版本,编译过程很复杂。遇到的主要问题是版本冲突,网速,循环依赖,软件本身的BUG等。尝试很多版本希望大家少走些弯路。

编译前必要配置:

1.build.gradle文件修改

compileKotlin {
	kotlinOptions {
		jvmTarget = "1.8"
		freeCompilerArgs = ["-Xjsr305=strict"]
        //此处修改为1.2,默认1.1,导入idea之后提示最低版本必须>=1.2,不提示可以不修改
		apiVersion = "1.2"
		languageVersion = "1.2"
	}
}

repositories {
    //增加国内的镜像buildscript{}与allprojects{}中
	maven { url "https://maven.aliyun.com/repository/apache-snapshots" }
	maven { url "https://maven.aliyun.com/repository/spring" }
	maven { url "https://maven.aliyun.com/repository/google" }
	maven { url 'https://maven.aliyun.com/repository/central'}
	maven { url "https://maven.aliyun.com/repository/public" }
	mavenCentral()
	maven { url "https://repo.spring.io/libs-spring-framework-build" }
}

javadoc {
	description = "Generates project-level javadoc for use in -javadoc jar"
	options.encoding = "UTF-8"
	options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED
	options.author = true
	options.header = project.name
	options.use = true
	options.links(project.ext.javadocLinks)
	options.addStringOption("Xdoclint:none", "-quiet")
	
    //忽略编译时候javadoc的异常	
	failOnError = false

	// Suppress warnings due to cross-module @see and @link references.
	// Note that global 'api' task does display all warnings.
	logging.captureStandardError LogLevel.INFO
	logging.captureStandardOutput LogLevel.INFO  // suppress "## warnings" message
}

2.gradle/docs.gradle文件(注释掉这行,编译访问不到会报错)

3.spring-beans/spring-beans.gradle(修改版本与JDK版本一致,否则编译不通过)

执行编译命令:

./gradlew build -x test --info

// --info或者--debug可以帮我们打印编译信息方便调错
// -x test 编译时跳过测试
 官方参考:https://github.com/spring-projects/spring-framework/wiki/Build-from-Source

IDEA配置:

1.构建成功之后,导入intellij(File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)

2.相关设置

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值