Spring源码导入,踩坑实录,最终解决方案。

请去我另外一个那个几乎没问题。

最新Spring源码导入IDEA,有效完美。_诗文娴静的博客-CSDN博客

1、Spring源码,IDEA导入。选择的是5.2.x的版本,没有选择最新,因为是跟着视频来的。

2、如果不改gradle的地址,就要很久很久,因为外网。为什么要用gradle?因为spring就是gradle构建的。

地址如下

spring-framework 项目 找到以下文件

settings.gradle

pluginManagement {
		repositories {
		maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
		maven { url "https://maven.aliyun.com/repository/public" }
		gradlePluginPortal()
		maven { url 'https://repo.spring.io/plugins-release' }
	}
}

plugins {
	id "com.gradle.enterprise" version "3.6.1"
	//注释掉不然会A build scan was not published as you have not authenticated with server 'ge.spring.io'.
	// id "io.spring.ge.conventions" version "0.0.7"
}


build.gradle

		repositories {
			// 新增2个阿里镜像地址
			maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
			maven { url 'https://maven.aliyun.com/repository/spring' }
			maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
			mavenCentral()
			maven { url "https://repo.spring.io/libs-spring-framework-build" }
			// 新增spring插件库
			maven { url "https://repo.spring.io/plugins-release"}
		}

修改gradle.properties,调大JVM参数


version=5.3.10-SNAPSHOT
org.gradle.jvmargs=-Xmx2048M
org.gradle.caching=true
org.gradle.parallel=true
kotlin.stdlib.default.dependency=false
org.gradle.configureondemand=true
org.gradle.daemon=true

3、然后等待构建,导入完成后。等待可能要好久

4、 执行命令 gradlew.bat build -x test 可以跳过测试这些任务

5、有两个模块需要注意,需要预编译

springcore

spring context

gradle spring-core complieTestJava

gradle spring-context complieTestJava

6、建立自己的模块。spring-mydemo。

7、main方法执行调试。报错!

warnings found and -Weeror specified

kotlin版本问题

调整idea的kotlin插件和build.gradle plugin的kotlin插件版本相同

8、继续!!调整到kotlin版本到最高后。

9、kotlin与gradle版本不适配了。

10、删除build.gradle中删除如下代码:

id 'com.gradle.build-scan' version '3.2'

11、Caused by: groovy.lang.MissingPropertyException: Could not get unknown property 'variants' for object of type org.gradle.api.plugins.internal.DefaultAdhocS

解决 gradle/spring-moudle.gradle注释掉如下代码

// Once we upgrade to Gradle 6.x, we will need to delete the following line ...
// components.java.variants.removeAll { it.outgoingConfiguration.name.startsWith("testFixtures") }

12、

你可能感兴趣的:(问题记录,java,idea,spring)