当前位置: 首页>编程语言>正文

idea创建spring项目版本太高 idea org.spring

1. 前期工作准备

开发环境:

JDK-1.8
DEA-2020.2.4
GRADLE-5.6.4
SRING-5.2.x.RELEASE
GIT

1、下载 Spring 源码
现在,Spring 源码托管在 Github 上面,所以,我们可以通过 Git 将此源码下载下来。
首先,进入 Spring 官网,点击 Github 图标,即可进入到 Spring 源码页面

如图:

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_maven,第1张

安装 Git,然后 选择分支,即 Spring 源码的版本,复制 Spring 源码地址,使用 Git 进行下载

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_idea创建spring项目版本太高_02,第2张

2、下载、安装并配置 Gradle

找到对应的 Gradle 版本。下载 Spring 源码的 Zip 包,并解压 。

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_maven_03,第3张

然后打开 spring-framework-5.2.x/gradle/wrapper/gradle-wrapper.properties 查看源码使用的 Gradle 的版本号:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

distributionUrl的属性值知:Spring5.2.x 的版本对应的 Gradle 版本为 5.6.4

下载 Gradle。进入 Gradle 官网:https://gradle.org/releases/.

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_spring_04,第4张

下载完毕后,进行解压,并配置环境变量

  • GRADLE_HOME:安装目录
  • GRADLE_USER_HOME:自定义仓库
  • 环境变量 Path:%GRADLE_HOME%\bin

测试是否安装成功。在命令行窗口中输入:

gradle -v

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_Gradle_05,第5张

配置 Gradle 仓库源。在 Gradle 安装目录下的 init.d 文件夹下,新建一个 init.gradle 文件,里面填写以下配置:

allprojects {
    repositories {
        maven { url 'file:///D:/professionbehindEnd/gradle/GradleRepository'}
        mavenLocal()
        maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
        maven { name "Bstek" ; url "http://nexus.bsdn.org/content/groups/public/" }
        mavenCentral()
    }

    buildscript { 
        repositories { 
            maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' }
            maven { name "Bstek" ; url 'http://nexus.bsdn.org/content/groups/public/' }
            maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
        }
    }
}

repositories 中写的是获取 jar 包的顺序:先是本地的 Maven 仓库路径;接着的 mavenLocal() 是获取 Maven 本地仓库的路径,应该是和第一条一样,但是不冲突;第三条和第四条是从国内和国外的网络上仓库获取;最后的 mavenCentral() 是从Apache提供的中央仓库获取 jar 包。

IDEA 中配置 Gradle。全局配置Gradle仓库

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_spring_06,第6张

2. 构建 Spring 源码

解压 Spring 源码包,进入当前目录,shift + 鼠标右键选择 “在此处打开命令窗口” ,键入 gradlew build 开始构建

E:\occupation\spring-framework>gradlew build

加速构建。可在源码包根目录 build.gradle 文件中(末尾)更新如下配置,可加快构建效率:

plugins {
	id 'io.spring.dependency-management' version '1.0.9.RELEASE' apply false
	id 'io.spring.ge.conventions' version '0.0.7'
	id 'io.spring.nohttp' version '0.0.5.RELEASE'
	id 'org.jetbrains.kotlin.jvm' version '1.3.72' apply false
	id 'org.jetbrains.dokka' version '0.10.1' apply false
	id 'org.asciidoctor.jvm.convert' version '2.4.0'
	id 'org.asciidoctor.jvm.pdf' version '2.4.0'
	id 'de.undercouch.download' version '4.1.1'
	id "io.freefair.aspectj" version '4.1.6' apply false
	id "com.github.ben-manes.versions" version '0.28.0'
	id 'com.gradle.build-scan' version '3.2'
}

repositories {
    maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
    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'}
}

allprojects {
	repositories {
		maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
		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'}
	}
}

【注意】:所有的仓库配置url前的http都要加上 s :“https://xxx”,要不然 > Task :checkstyleNohttp 任务会报错

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_maven_07,第7张

如果结果中有 BUILD SUCCESSFUL 字样就明预编译成功:

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_Gradle_08,第8张

可能出现的错误:

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_spring_09,第9张

Git 的问题,暂时还不知道如何解决,不影响构建。

3. IDEA 导入 Spring 源码

选择下载到本地的 Spring 源码

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_Gradle_10,第10张

配置 Gradle。配置后点击OK开始导入,过程有点长,如果配置国内镜像会好很多

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_maven_11,第11张

配置 jdk1.8, Spring 高版本中使用了 1.8 新特性,为了避免报错,需要配置。

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_maven_12,第12张

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_Gradle_13,第13张

4. 对 Spring-test 模块做 junit 测试

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_idea创建spring项目版本太高_14,第14张

结果,发现报错了:

Error:Kotlin: warnings found and -Werror specified

后得知,在 build.gradle 文件中有关于 kotlin 版本约束:

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_Gradle_15,第15张

在 IDEA 配置中查看:

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_idea创建spring项目版本太高_16,第16张

版本要与之对应。第一次导入时,用的 IDEA 版本是 2018.2,由于出现上面的问题,我就更换 IDEA 版本为 2020.2.4。然后,就没有上述报错了。

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_maven_17,第17张

5. Spring 入门案例调试

spring-test 模块中,某个测试类中编写一个 Spring 入门案例代码。我这里是在 org.springframework.test.jdbc.JdbcTestUtilsTests 测试类中

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_idea创建spring项目版本太高_18,第18张

在原有的测试类中,添加一个测试方法,代码如下:

@Test
void testDo() {
	BeanFactory beanFactory = new ClassPathXmlApplicationContext("bean.xml");
	MyTest bean = beanFactory.getBean(MyTest.class);
	System.out.println(bean);
}

要想运行成功,先前条件有两个:

  1. 在 main 文件夹下,添加一个 MyTest 类(这个和 bean.xml 中配置的类保持一致:com.zzc.MyTest)
  2. 在 test/resource 文件夹下,添加一个 bean.xml

bean.xml 内容:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">

	<bean id="myTestBean" class="com.zzc.MyTest"/>

</beans>

然后,启动测试类,编译成功后,如下图:

idea创建spring项目版本太高 idea org.spring,idea创建spring项目版本太高 idea org.spring_maven_19,第19张

在后期过程中,Spring 源码就开整咯~~



https://www.xamrdz.com/lan/58j1934616.html

相关文章: