Idea导入eureka源码实现过程解析

通过GitHub获取Eureka源码

进入git bash命令行,自己找个目录,用来存放eureka源码,然后在目录里面,执行git clone  https://github.com/Netflix/eureka.git,就可以了,这个是需要点时间的,稍微有点慢,你等一会儿好了。

git clone https://github.com/Netflix/eureka.git

获取eureka项目依赖

然后在eureka目录中,直接双击gradlew.bat就可以,这个是人家给你提供的命令,直接就会下载所有需要的依赖,这个过程需要等待很长时间,得耐心点,因为走网络下载人家国外很多的依赖包什么的,速度会慢一些。

如果你希望读取某个版本的eureka源码,比如1.7.2版本,可以在git bash中执行

git checkout v1.7.2

安装Gradle

下载Gradle需要去他的官网,https://gradle.org/releases/

因为eureka是使用的2.10版本,所以我们就下载这个版本,不然出了问题特别麻烦,反正咱们只使用它来读个源码罢了。下载gradle-2.10-bin.zip,然后找个目录进行解压。比如我解压的目录是:D:\MySoft\gradle-2.10。

设置GRADLE_HOME环境变量,值就是D:\MySoft\gradle-2.10

在PATH环境变量中,加入%GRADLE_HOME%/bin

配置完成后,在cmd命令行中,直接输入gradle -v,如果看到如下结果,说明安装成功了

设置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/')) {
          remove repo
        }
      }
    }
    maven {
      url REPOSITORY_URL
    }
  }
}

设置idea的Gradle地址

我是用的idea2019.2版本的idea,其他的版本不太熟悉,但我估计大差不差。

选择File->settings->Build,Execution,Deployment->Build Tools->Gradle

将Gradle use home修改为你的Gradle安装路径,比如我的就是D:\MySoft\gradle-2.10。

修改idea的jdk版本

这里有几个坑 就是idea默认使用的是jdk11版本的run time jdk 所以需要改成8的版本
具体操作如下:

1、在plugins 下搜索 choose runtime 插件并下载

然后重启idea 按下快捷键 ctrl + shift + a 弹出输入 choose runtime

然后切换成自己的jdk目录即可

修改Eureka中的build.grade文件

最后在打开的eureka源码中修改一下build.grade文件

buildscript {
//  repositories { jcenter() }
  repositories {
    maven {
      url 'http://maven.aliyun.com/nexus/content/groups/public/'
    }
  }
  dependencies {
    classpath 'com.netflix.nebula:gradle-extra-configurations-plugin:2.2.+'
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • springCloud服务注册Eureka实现过程图解

    介绍 Eureka 是Netfix开发的,一个基于Rest服务的,服务注册与发现的组件. 主要包括两个组件:Eureka Server和Eureka Client Eureka Server:注册中心,提供服务注册与发现 Eureka Client:java客户端(通常就是微服务中的客户端和服务端) 上图简要描述了Eureka的基本架构,由3个角色组成: 1.Eureka Server(注册中心,相当于中介) 2.Service Provider(服务提供方,相当于房东) 3.Service C

  • SpringCloud添加客户端Eureka Client过程解析

    1.添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> 2.添加客户端配置 /src/main/java/resource/application.yml server: port: 8770 eur

  • Springcould多模块搭建Eureka服务器端口过程详解

    这篇文章主要介绍了Springcould多模块搭建Eureka服务器端口过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1创建一个普通父maven 在pom修改为因为spring could依赖spring boot所以首先在父maven <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star

  • SpringBoot+Eureka实现微服务负载均衡的示例代码

    1,什么是Eureka,什么是服务注册与发现 Spring Boot作为目前最火爆的web框架.那么它与Eureka又有什么关联呢? Eureka是Netflix开源的一个RESTful服务,主要用于服务的注册发现. Eureka由两个组件组成:Eureka服务器和Eureka客户端.Eureka服务器用作服务注册服务器. Eureka客户端是一个java客户端,用来简化与服务器的交互.作为轮询负载均衡器,并提供服务的故障切换支持. Netflix在其生产环境中使用的是另外的客户端,它提供基于流

  • SpringCloud Eureka自我保护机制原理解析

    这篇文章主要介绍了SpringCloud Eureka自我保护机制原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. 自我保护机制演示 eureka在频繁修改微服务名称的时候,可以会出现如下现象: 2. 什么是自我保护模式? 默认情况下,如果EurekaServer在一定时间内没有接收到某个微服务实例的心跳,EurekaServer将会注销该实例(默认90秒).但是当网络分区故障发生时,微服务与EurekaServer之间无法正常通信

  • springboot2.0和springcloud Finchley版项目搭建(包含eureka,gateWay,Freign,Hystrix)

    前段时间spring boot 2.0发布了,与之对应的spring cloud Finchley版本也随之而来了,两者之间的关系和版本对应详见我这边文章:spring boot和spring cloud对应的版本关系 项目地址:spring-cloud-demo spring boot 1.x和spring cloud Dalston和Edgware版本搭建的微服务项目现在已经很流行了,现在很多企业都已经在用了,这里就不多说了. 使用版本说明: spring boot 2.0.x spring

  • SpringCloud Eureka搭建的方法步骤

    1.SpringCloud是什么 以前的服务器就像是一个医院只有一个医生,什么病人都要让这个医生看,如果医生觉得太累,自我暴毙了,那整个医院都瘫痪了.而springcloud流行起来之后,就像是医院里面有了外科诊室,内科诊室等,每一个诊室都有一群医生负责,这样不管哪一个医生不行了都不会影响整个医院的运转.把一台或好几台服务器中的众多服务,分类出来,解耦合出来,把他们类似的功能交给同一个集群来做,把互相耦合在一起的功能剥离出来,按业务,按功能来把他们作为一个个微服务放在服务器上,而这个服务器就只提

  • Idea导入eureka源码实现过程解析

    通过GitHub获取Eureka源码 进入git bash命令行,自己找个目录,用来存放eureka源码,然后在目录里面,执行git clone  https://github.com/Netflix/eureka.git,就可以了,这个是需要点时间的,稍微有点慢,你等一会儿好了. git clone https://github.com/Netflix/eureka.git 获取eureka项目依赖 然后在eureka目录中,直接双击gradlew.bat就可以,这个是人家给你提供的命令,直接

  • Python Django源码运行过程解析

    目录 一.Django运行顺序 1.启动 1.1 命令行启动(测试服务器) 2.监听 2.1 runserver(测试服务器) 3.中间件的执行 本文只算是本人片面之言(当然也会借鉴网络上公开资料),而且技术含量比较低,内容质量也一般,大家仅限参考即可 如果对本文看不太懂,请先阅读后面文章,等都差不多看完再回顾来看 一.Django运行顺序 WSGI会不断监听客户端发送来的请求 先经过中间件进行分析验证处理 然后经过url分发与验证 视图层进行处理 再经过中间件进行分析验证处理 返回响应内容 1

  • Eureka源码阅读解析Server服务端启动流程实例

    目录 环境 1.spring cloud整合eureka server demo 1.1 新建spring boot项目 pom.xml文件添加 配置文件 1.2 启动类 1.3 启动 2. spring cloud自动装配eureka server源码解析 2.1 @EnableEurekaServer注解 2.2 EurekaServerAutoConfiguration 2.2.1 查找starter 自动装配类的技巧 2.2.2 EurekaServerAutoConfiguration

  • Eureka源码解析服务离线状态变更

    目录 环境 1. 服务离线的方式 1.1 基于Actuator监控器实现 1.2 直接向Eureka Server提交请求 1.3 特殊状态CANCEL_OVERRIDE 2. 服务下架源码 2.1 cancelScheduledTasks() 2.2 unregister() 3. 服务下线源码分析(状态变更) 3.1 变更状态 3.2 获取状态 环境 eureka版本:1.10.11 Spring Cloud : 2020.0.2 Spring Boot :2.4.4测试代码:github.

  • Eureka源码阅读Client启动入口注册续约及定时任务

    目录 引言 1.环境 2. Spring Cloud整合Eureka Client 启动入口 2.1 封装配置文件的类 2.1.1 EurekaClientConfigBean 2.1.2 EurekaInstanceConfigBean 2.2 EurekaClient 2.2.1 ApplicationInfoManager 2.2.2 EurekaClient 2.3 小结 3. DiscoveryClient类的解析 3.1 DiscoveryClient 作用 3.2 Discover

  • oracle数据与文本导入导出源码示例

    oracle提供了sqlldr的工具,有时需要讲数据导入到文本,oracle的spool可以轻松实现. 方便的实现oracle导出数据到txt.txt导入数据到oracle. 一.导出数据到txt 用all_objects表做测试 SQL> desc all_objects; Name Null? Type ----------------------------------------- -------- ---------------------------- OWNER NOT NULL

  • CentOs7 64位 mysql 5.6.40源码安装过程

    1.首先安装依赖包,避免在安装过程中出现问题 [root@chufeng yusen]# yum -y install wget vim bash-completion [root@chufeng yusen]# yum -y install gcc gcc-c++ cmake ncurses-devel autoconf perl perl-devel 2.下载mysql-5.6.40.tar.gz MySQLxxx下载地址: https://dev.mysql.com/downloads/m

  • 如何导入spring源码到IDEA

    环境:IDEA2019.3, jdk1.8.0_191,spring-framework-5.0.5.RELEASE,gradle-4.4.1 前期准备 1.访问spring官网下载spring framework源码 spring源码放在了github,点击如下图中的按钮访问(有可能访问不了github官网,可参考此处) 如下图步骤选择要下载的spring源码版本 点击code–>Download ZIP下载 解压到某个目录下 2.安装gradle 到解压的spring源码目录下spring-

  • 关于androidstuio导入系统源码的问题

    最近公司需要做一些将系统源码导出来,然后加入一些功能,在导入androidstudio过程中遇到过一些问题,这里记录下,方便以后需要. 一般导入成功的都是系统比较相对独立的app,比如计算器.Schedule power on off等,网上查阅一些资料后,最终解决. 这里以Schedule power on off为例. 1.导出Schedule power on off源码,路径为/package/apps/ 如图: 新建androidstudio项目,导入相关代码以及相关资源文件,rebu

  • Spring Bean的实例化之属性注入源码剖析过程

    前言 这一章节我们来讨论创建Bean过程中的属性注入,在Spring的IOC容器启动过程中,会把定义的Bean封装成BeanDefinition注册到一个ConcurrentHashMap中,Bean注册完成后,就会对单利的且lazy-init=false 的Bean进行实例化.创建Bean的代码在 AbstractAutowireCapableBeanFactory#doCreateBean 中,当Bean创建成功之后,会调用AbstractAutowireCapableBeanFactory

随机推荐