开发部署 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 版本: