idea 新建spring clound 项目_手把手教你spring源码搭建
一 Spiring源码搭建
1.1 gradle安装
官网下载:https://gradle.org/install/; 加速版:https://services.gradle.org/distributions/
添加
GRADLE_HOME
环境变量,指向Gradle解压目录;配置Path环境变量:
%GRADLE_HOME%\bin
;打开命令行 输入命令:
gradle -v
,显示版本号等信息说明配置成功;
❝
先不要下载安装,看后面,耐心看完本节所有内容再想要不要全局安装;
❞
1.2 下载源码
github: https://github.com/spring-projects/spring-framework
知识追寻者下载的是spring源码5.0版本, gradle 6.5.1, jdk1.8;
由于github下载网速很慢,可以登陆码云进行folk一份github的spring源码到自己仓库下载会很快,如果你比较懒,知识追寻者也找到一个仓库如下;
https://gitee.com/mirrors/Spring-Framework
1.3导入 IDEA
- 打开 IDEA
- 选择Improt Project,指向spring源码目录;
- Improt Project from Existing Sources ;
- 选择 build.gradle;
- 配置gradle构建(如果不想全局配置这步省略,打开工程后会自动下载gradle)
「注意」:idea 需要配置 gradle 关闭 offline 模式 ;由于2019版本在setting中无法找到 而是在右侧的视图中;
1.4 源码编译
有的小伙伴会下错gradle版本,那真是卡几天都无法解决的是,源码编译无法通过,直接放弃啊,知识追寻者也卡了一会,看官方说明才知道咋回事;
「方式一」:
「在源码项目的当前目录命令行输入如下命令会自动下载gradle, 直接将链接复制出来使用迅雷下载,然后配置gradle,在 右侧gradle视图中找到spring-oxm项目的compileTestJava双击即可;」
gradlew :spring-oxm:compileTestJava
「方式二」:
也可以不配置本地全局gradle,你网络好就直接在「命令行」中使用如上命令,idea会自动进行局部配置;
耐心等待一段时间进行源码编译;然后再用idea打开工程,构建成功如下
1.5替换仓库
工程目录下找到 build.gradle
;在如下代码中添加一行 阿里仓库,提升下载依赖速度;
repositories { mavenCentral() maven { url "https://repo.spring.io/libs-spring-framework-build" } maven { url "https://repo.spring.io/snapshot" } // Reactor and RSocket }
阿里云仓库
maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}
1.6 去除 spring-aspect 加载
如果加载到后面发现 spring-aspect 模块依赖报错,
第一种方案 直接点击该工程 右键 -> unload module,或者使用 exclude module 排除模块;
第二种方案:安装 aspect需要手动安装
https://www.eclipse.org/aspectj/downloads.php
关于 安装请看下面链接,因为知识追寻者这边没报错;
https://blog.csdn.net/a704397849/article/details/102754505
1.7 创建gradle测试工程
File–>New–>Modul–>Gradle–>Java–>Next
打开测试工程的build.gradle文件添加 依赖 beas 和 context;
dependencies { compile(project(":spring-beans")) compile(project(":spring-context")) testCompile group: 'junit', name: 'junit', version: '4.12'}
新建用户实体
public class SysUser {
private String username;
private String password;
public SysUser() { }
public SysUser(String username, String password) { this.username = username; this.password = password; } // 省略set/get toString}
新建配置类
/** * @Author lsc * */@Configurationpublic class SysConfig {
@Bean public SysUser sysUser(){ return new SysUser("zszxz","123"); }}
新建主类测试
/** * @Author lsc * */public class ZszxzMain {
public static void main(String[] args) { // 获取容器 ApplicationContext ac =new AnnotationConfigApplicationContext(SysConfig.class); // 获取 bean SysUser user = (SysUser) ac.getBean("sysUser"); System.out.println(user.toString()); }}
build 一下 测试工程,然后执行主类,一般情况下会报错看后续内容
1.8 去除风格校验
如果报代码格式错误,找到 src 下checkstyle里面checkstyle.xml文件 ,去除掉 里面的风格校验;
<?xml version="1.0"?>module PUBLIC "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" "https://checkstyle.org/dtds/configuration_1_3.dtd"><module name="com.puppycrawl.tools.checkstyle.Checker">module>
1.9 kotlin报错
如果 kotlin 1.3 版本太低,无法支持新的语法,找到 idea 的kotlin 语言配置,升级到 1.4;知识追寻者编译第一次编译出现这种问题,第二次没有;很魔幻的事情,建议大家不要使用idea 2019.2 版本,坑比较大;
❝
重点:网速很重要,如果连wifi不建议进行编译,知识追寻者亲测用wifi发了2天没搞定!!!后来换了宽带非常快;
❞
1.20 核心包编译出错
如果spring-core 核心包下 jrf 包(org.springframework.core.metrics.jfr)里面的类出错一种办法直接注释掉出错类,
第二种:可能是jdk不兼容,更换jdk;
1.20 编译成功
如果最后没报错,并且主类执行成功输出如下;
> Task :zszxz-test:ZszxzTest.main()SysUser{username='zszxz', password='123'}
idea 新建spring clound 项目_手把手教你spring源码搭建相关推荐
- stm32l0的停止模式怎么唤醒_手把手教你怎么利用旧电脑搭建NAS组建自己的黑群晖...
手把手教你怎么利用旧电脑搭建NAS组建自己的黑群晖 Synology 群晖科技(Synology )创立于 2000 年,自始便专注于打造高效能.可靠.功能丰富且绿色环保的 NAS 服务器,是全球少数 ...
- springboot 创建地址_手把手教你Spring Boot入门开发
前言:springboot如今在技术领域非常流行,不仅能够简化web项目的开发,提升开发效率,而且也是面试官最喜欢的问题之一,今天笔者对springboot做一个简要入门实例讲解,抛砖引玉. 1. S ...
- maven 创建java项目_手把手教你创建Java Maven依赖项目
本教程介绍了如何通过MyEclipse Web项目,或者其他任何Maven项目来创建一个通用的Java/Maven项目.这些步骤包括基础的创建和使用Maven依赖.您将学习到: 创建一个Maven实用 ...
- python开发个人博客_手把手教你用 Python + Flask 搭建个人博客
Python 的语言特性使得自身编写 Web 框架极其容易,现在已经有上百种用 Python 编写的 Web 开发框架,其中用户量最大的两个就是 Django 和 Flask. Django 和 Fl ...
- 代币转账_手把手教你从源代码开始搭建多节点以太坊私链(五)部署智能合约及代币发行...
一.安装以太坊合约编译环境 安装solc 智能合约代码的编译可以通过第三方平台或者软件.不过,为了安全起见,还是搭建自己的编译器比较好.(But be aware that if the compil ...
- linux npm安装_手把手教你appium框架的搭建—linux
总体来说,分为以下几步: 1.安装jdk 2.安装node和npm 3.安装android sdk 4.安装appium 5.安装pip及appium-python-client 以下是脚本 #!/b ...
- 软件_手把手教vscode配置c++,python开发环境
原创:软件_手把手教vscode配置c++,python开发环境 之前主用Python作为项目开发语言,将项目迁移到arm边缘盒子上后发现arm的cpu不给力,软件速度低于预期,所以计划将部分程序改为 ...
- 简单个人博客系统java web_JavaWeb个人博客项目:手把手教你实现博客后台系统之登录与注册...
JavaWeb个人博客项目:手把手教你实现博客后台系统之登录与注册 发布时间:2020-07-17 17:10阅读:( )字号: 大 中 小 后台系统的所有界面图以及之前的准备工作欢迎看我之前的博文& ...
- 手把手教你从0开始搭建一个vue项目(完结)
前言 上一节webpack实战之(手把手教你从0开始搭建一个vue项目)最后我们完成了css样式的配置: webpack.config.js: const path = require("p ...
- 手把手教你直播平台怎么搭建
手把手教你直播平台怎么搭建 后端项目初始化 1.全局安装express脚手架 额,这个应该是属于准备工作的.给忘记了,那就凑合放在这里吧,别打我,我知道错了,但我就是不改[狗头保命] cnpm ins ...
最新文章
- struts.xml配置文件结构
- 科大星云诗社动态20210502
- (转)Asp.Net生命周期系列一
- 宝塔面板服务器ip地址修改_「网站」快速搭建服务器环境及网站
- 白盒测试-条件覆盖-短路陷阱
- java mapper.readtree_java - 杰克逊的readValue和readTree:何时使用哪个? - 堆栈内存溢出...
- 【Python】【数据库】
- 高性能 Socket 组件 HP-Socket v3.1.3 正式发布
- 程序在Linux下后台运行,进程查看及终止
- 谷歌智能助理能同时听懂两种语言 超过同类产品
- Dubbo集成Spring与Zookeeper实例
- 刷机常识,双清,BL,REC,TWRP
- 字体推荐——sarasa更纱黑体
- 在你的ipad上使用Vscode撸代码(快速操作向)
- win10此计算机无法创建家庭组,教你Win10专业版无法创建家庭组怎么办?
- (18) 基于时空多图卷积网络的网约车需求预测
- 大班韵律机器人视频_大班韵律活动“机器人—星球漫步”
- Flask+BootStrap+SQLite+ECharts编写的教学问卷调查系统
- Linux查主板槽位使用情况,linux下查看主板内存槽与内存信息
- 资本资产定价模型简介-多因子寻找Alpha统计套利