开发部署 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 对应,
如果使用其他版本的话,会出现一些问题,比如下面:
How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException in Java 9
java.lang.NoClassDefFoundError: javax/activation/DataHandler
服务器配置 JRE 环境
使用 wget 命令,在官网下载对应的 Server JRE。
创建安装目录:
$ sudo mkdir -p /usr/local/java
解压文件到指定目录:
$ sudo tar -zxvf serverjre-9.0.1_linux-x64_bin.tar.gz -C /usr/local/java/ --strip-components=1
编辑配置文件:
$ sudo vi /etc/profile
将下面配置添加到配置文件中:
# JRE configurationexport JAVA_HOME=/usr/local/javaexport JRE_HOME=${JAVA_HOME}export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport 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 configurationexport JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Homeexport JRE_HOME=${JAVA_HOME}export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH# End JDK configuration
生效及测试:
$ source /etc/profile $ java -version
IntelliJ IDEA 选择添加 JDK 即可:
IntelliJ IDEA 修改当前项目的 JDK 版本: