一步步教你用Mac电脑使用Idea工具编译Spring5源码

环境 

  • mac电脑
  • Idea(2018版)
  • Jdk1.8
  • Gradle4.10.3
  • spring-framework(v5.1.6)

步骤

1、下载指定Spring源码

2、根据Spring下载指定版本gradle

  打开spring源码目录下gradle/wrapper/gradle-wrapper.properties可以看到需要下载的gradle版本

  

3、下载gradle

  • 下载后解压到指定目录
  • 修改环境变量
    • 打开终端输入$: vim ~/.bash_profile
  • 使环境变量生效

    • 终端输入: source ~/.bash_profile
  • 验证
    • 终端输入:gradle -v
    • 一步步教你用Mac电脑使用Idea工具编译Spring5源码_第1张图片 

4、gradle配置阿里云镜像

  • gradle下的init.d文件夹内创建init.gradle文件
  • 加入如下:

allprojects{
   repositories {
       def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
       all { ArtifactRepository repo ->
           if(repo instanceof MavenArtifactRepository){
               def url = repo.url.toString()
               if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
                   project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
                   remove repo
               }
           }
       }
       maven {
           url REPOSITORY_URL
       }
   }
}

5、导入spring源码

5.1

一步步教你用Mac电脑使用Idea工具编译Spring5源码_第2张图片

5.2

一步步教你用Mac电脑使用Idea工具编译Spring5源码_第3张图片

接下来等待idea自动帮我们编译完成即可

6、完成状态

一步步教你用Mac电脑使用Idea工具编译Spring5源码_第4张图片

7、测试

目录结构如下

一步步教你用Mac电脑使用Idea工具编译Spring5源码_第5张图片

注意:这里的代码需要分别导入对应的文件

//1、MyBean
public class MyBean {
   private String name = "Adom";

   public MyBean(String name) {
      this.name = name;
   }

   public MyBean() {
   }

   @Override
   public String toString() {
      return "MyBean{" +
            "name='" + name + '\'' +
            '}';
   }

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }
}

//2、Spring-config.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 http://www.springframework.org/schema/beans/spring-beans.xsd">

   <bean id="myBean" class="com.adom.MyBean"/>

beans>

//3、MyBeanTest /** * MyBean Tester. * * @author
<Authors name> * @since <pre>Jul 27, 2020pre> * @version 1.0 */ public class MyBeanTest { @Test public void testMyBean(){ BeanFactory bf = new XmlBeanFactory( new ClassPathResource("spring-config.xml")); MyBean myTestBean = (MyBean) bf.getBean("myBean"); System.out.println(myTestBean.getName()); } } //4、Build.gradle dependencies { compile(project(":spring-beans")) compile(project(":spring-core")) testCompile group: 'junit', name: 'junit', version: '4.12' }

最后点击运行

一步步教你用Mac电脑使用Idea工具编译Spring5源码_第6张图片

遇到的问题

Spring-core模块核心代码报错

原因

spring源码根目录执行以下命令解决,gradle构建时缺少spring-cglib-repackspring-objenesis-repack缺少jar依赖的问题

解决方法

在终端执行如下命令:

gradle cglibRepackJar

gradle objenesisRepackJar

 

你可能感兴趣的:(一步步教你用Mac电脑使用Idea工具编译Spring5源码)