确定稳定的 Spring Cloud 相关环境版本
开发部署 Spring Cloud 微服务框架,需要先确定 Spring Cloud 的相关环境版本,主要包含:Spring Cloud、Spring Cloud Netflix、JDK、JRE、Java Version等相关版本,以及环境的配置。
现在最新版本 Java 10、Spring Boot 2.0、Spring Cloud Finchley.M9(已伦敦地铁站为命令规则),但这些版本还不太稳定,而且相关的兼容也不是很好,问题的解决方案也比较少。
今天花了大概一天的时间,尝试了各种版本的兼容,以及使用部署的问题,最终确定了下面这套版本,比较相对稳定。
- Spring Cloud:Edgware.SR3(http://projects.spring.io/spring-cloud/),和 Spring Boot 版本关联,可在官网进行查看。
- Spring Cloud Netflix:1.4.4.RELEASE
- Spring Boot:1.5.10.RELEASE
- JDK:Java SE Development Kit 8u162(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html),也就是 jdk1.8.0_162。
- JRE:Server JRE (Java SE Runtime Environment) 8u162(http://www.oracle.com/technetwork/java/javase/downloads/server-jre8-downloads-2133154.html)
- Java Version:1.8,和 JDK 对应,
如果使用其他版本的话,会出现一些问题,比如下面:
- SpringCloud异常(Euruka):Application run failed java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder
- How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException in Java 9
- com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
- java.lang.NoClassDefFoundError: javax/activation/DataHandler
- Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
服务器配置 JRE 环境
使用 wget 命令,在官网下载对应的 Server JRE。
$ wget -O server-jre-8u172-linux-x64.tar.gz http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/server-jre-8u172-linux-x64.tar.gz?AuthParam=1525855768_4dab01f83fc36483df07dbbdc363c1af
创建安装目录:
$ sudo mkdir -p /usr/local/java
解压文件到指定目录:
$ sudo tar -zxvf server-jre-8u172-linux-x64.tar.gz -C /usr/local/java/ --strip-components=1
编辑配置文件:
$ sudo vi /etc/profile
将下面配置添加到配置文件中:
# JRE configuration
export JAVA_HOME=/usr/local/java
export JRE_HOME=${JAVA_HOME}
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# End JDK configuration
生效及测试:
$ source /etc/profile
$ java -version
Mac 配置 JDK 环境
在官网下载对应的 Mac JDK 版本。
直接安装成功后(目录:/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk)。
编辑配置文件:
$ sudo vi /etc/profile
将下面配置添加到配置文件中:
# JDK configuration
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home
export JRE_HOME=${JAVA_HOME}
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# End JDK configuration
生效及测试:
$ source /etc/profile
$ java -version
IntelliJ IDEA 选择添加 JDK 即可:

IntelliJ IDEA 修改当前项目的 JDK 版本:

确定稳定的 Spring Cloud 相关环境版本的更多相关文章
- spring cloud 2.x版本 Ribbon服务发现教程(内含集成Hystrix熔断机制)
本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 前言 本文基于前两篇文章eureka-server和eureka-client的实现. 参考 ...
- spring cloud 2.x版本 Gateway动态路由教程
摘要 本文采用的Spring cloud为2.1.8RELEASE,version=Greenwich.SR3 本文基于前面的几篇Spring cloud Gateway文章的实现. 参考 Gatew ...
- spring cloud 2.x版本 Sleuth+Zipkin分布式链路追踪
前言 本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 本文基于前两篇文章eureka-server.eureka-client.eureka ...
- spring cloud 2.x版本 Config配置中心教程
前言 本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 本文基于前面的文章eureka-server的实现. 参考 eureka-server ...
- Spring Cloud Alibaba环境搭建
前言:Spring Cloud Alibaba是目前主流的分布式微服务架构,本文主要讲解了在IDEA中如何搭建Spring Cloud Alibaba环境,以及介绍Spring Cloud Aliba ...
- spring cloud 2.x版本 Eureka Server服务注册中心教程
本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 1.创建服务注册中心 1.1 新建Spring boot工程:eureka-server 1 ...
- spring cloud 2.x版本 Feign服务发现教程(内含集成Hystrix熔断机制)
前言 本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 本文基于前两篇文章eureka-server和eureka-client的实现. 参考 ...
- spring cloud 2.x版本 Zuul路由网关教程
前言 本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 本文基于前两篇文章eureka-server.eureka-client.eureka ...
- spring cloud 2.x版本 Gateway熔断、限流教程
前言 本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 本文基于前两篇文章eureka-server.eureka-client.eureka ...
随机推荐
- python基础学习笔记一
1.变量 为了节省内存,python解释器会对一些简单的字符串以及小整型数,做出一些优化,当要定义的新变量的内容与定义过的内容相同时,会让两者使用同一个内存空间. 例如: 在这个例子里面,'old'是 ...
- 详细分析SQL语句逻辑执行过程和相关语法
本文目录: 1.SQL语句的逻辑处理顺序 1.2 各数据库系统的语句逻辑处理顺序 1.2.1 SQL Server和Oracle的逻辑执行顺序 1.2.2 MariaDB的逻辑执行顺序 1.2.3 M ...
- 结合jenkins在Linux服务器搭建测试环境
何时使用: 测试过程中我们需要持续构建一个软件项目,为避免重复的手动下载.解压操作,我们需要搭建一个能够自动构建的测试环境,当代码有更新时,测试人员只需点一下[构建]即可拉取最新的代码进行测试(也可设 ...
- C语言程序设计(基础)最后一次作业-- 总结报告
本次作业是本学期的最后一次作业,有始有终,本次作业回顾下本学期的第0次作业,回答下面几个问题. 注意:在回答问题时请不要简单的回答 "不是","是".请把这当成 ...
- 进程与fork()、wait()、exec函数组
进程与fork().wait().exec函数组 内容简介:本文将引入进程的基本概念:着重学习exec函数组.fork().wait()的用法:最后,我们将基于以上知识编写Linux shell作为练 ...
- 关于python中的operator.itemgetter()函数的用法
1. operator.itemgetter(num)函数 表示对对象的第num维数据进行操作获取. >>>import operator >>>a = [1, 2 ...
- Java基础 成员变量的继承与覆盖
通过继承可以得到父类的成员变量,子类的成员变量包括从父类继承的成员变量(包括从祖先类中继承的成员变量)以及子类中重新定义的成员变量.本次介绍内容包括:可以继承哪些成员?如果子类和父类出现了相同的成员变 ...
- 使用genstring和NSLocalizedString实现App文本的本地化
OS提供了简便的方法来实现本地化,其中用的最多的就是NSLocalizedString. 首先查看下NSLocalizedString是什么: #define NSLocalizedString(ke ...
- 51Nod P1100 斜率最大
传送门: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1100 由于2 <= N <= 10000, 所以 ...
- linux查看文件内容的常见命令
1.cat命令,显示文件的所有内容,内容过多则显示最后一屏一般用于内容较少文件 2.more命令,分页显示文件的内容一般用于文件内容过多的文件,回车显示下一行,空格显示下一页,q/Q退出 3.head ...