一、简介
Oracle公司提供了两个JDK:
Oracle OpenJDK: https://jdk.java.net/11/
Oracle JDK: https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html
除了以上两种JDK,业界还有不少第三方提供的JDK,它们大都基于OpenJDK。比如Amazon Corretto。
Amazon Corretto官网: https://aws.amazon.com/cn/corretto/
Amazon Corretto是Amazon提供的一个免费的、基于OpenJDK的、多平台的、生产就绪的JDK发行版。Amazon Corretto提供了长期支持,其中包括性能增强和安全修复。Amazon在内部数千种生产服务上运行着Corretto,并且Corretto已被证明能够兼容Java SE标准。借助Corretto,用户可以在常用操作系统(包括Amazon Linux 2、Windows和macOS)上开发和运行Java应用程序。
Amazon Corretto可以免费下载和使用。没有任何其他付费功能或限制。Amazon公司计划每季度发布一次更新,其中包括对企业应用程序开发至关重要的性能增强和错误修复。
目前Amazon发布了Corretto的Corretto 8 Preview预览版本,它基于OpenJDK 8源码。
下载地址: https://docs.aws.amazon.com/zh_cn/corretto/latest/corretto-8-ug/downloads-list.html
二、安装
1、在Amazon Linux 2环境中安装Amazon Corretto 8
启用corretto8的YUM仓库
$ amazon-linux-extras enable corretto8
可以将Amazon Corretto 8安装为运行时环境(JRE)或完整开发环境(JDK)。后者包含了运行时环境。
将Amazon Corretto 8安装为JRE:
$ sudo yum install java-1.8.0-amazon-corretto
将Amazon Corretto 8安装为JDK:
$ sudo yum install java-1.8.0-amazon-corretto-devel
安装位置是/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64。
验证安装
在终端中,运行以下命令:
$ java -version
openjdk version "1.8.0_192"
OpenJDK Runtime Environment (build 1.8.0_192-amazon-corretto-preview-b12)
OpenJDK 64-Bit Server VM (build 25.192-b12, mixed mode)
卸载Amazon Corretto 8
可以使用以下命令卸载Amazon Corretto 8。
卸载JRE:
$ sudo yum remove java-1.8.0-amazon-corretto
卸载JDK:
$ sudo yum remove java-1.8.0-amazon-corretto-devel
2、Amazon Corretto 8的Docker镜像
建立Amazon Corretto 8的Docker镜像
$ docker build -t amazon-corretto-8 github.com/corretto/corretto-8-docker
命令完成后,将拥有一个名为amazon-corretto-8的镜像。
要在本地运行此镜像,请运行以下命令:
$ docker run -it amazon-corretto-8
还可以将此镜像推送到Amazon ECR。
创建一个新的Docker镜像
可以使用Amazon Corretto 8 Docker镜像作为父镜像来创建新的Docker镜像。
创建Dockerfile,内容如下:
FROM amazon-corretto-8
RUN echo $' /
public class Hello { /
public static void main(String[] args) { /
System.out.println("Welcome to Amazon Corretto!"); /
} /
}' > Hello.java
RUN javac Hello.java
CMD ["java", "Hello"]
构建新镜像:
$ docker build -t hello-app .
运行新镜像:
$ docker run hello-app
将获得以下输出。
Welcome to Amazon Corretto!