时间:2021-05-20
通过GitHub获取Eureka源码
进入git bash命令行,自己找个目录,用来存放eureka源码,然后在目录里面,执行git clonehttps://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.+' }}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
 最近新装了个idea发现无法自动导入依赖,查了一下idea更新内容,大概意思是由于版本更新的原因;解决方法使用ctrl+shift+o实现导入依赖补
内容概览使用IDEA2020.1构建Spring5.2.x源码环境源码:spring5.2.xjdk11.08idea2020.1springspring5.2
前几篇主要集中在注册中心eureka的使用上,接下来可以创建服务提供者provider来注册到eureka。demo源码见:https://github.com
在源码的阅读过程中,可以了解别人实现某个功能的涉及思路,看看他们是怎么想,怎么做的。接下来,我们看看这篇Java源码解析之object的详细内容。Java基类O
Eureka默认集成了Ribbon,所以Ribbon的灰度实现原理就是借助服务注册到Eureka中的eureka.instance.metadata-map的内