OpenJDK入手先まとめ

本記事は[Where can I get OpenJDK binaries and archives?](https://qiita.com/ykubota/items/379a6aefac745f902881)の元に再整理したものです。
OpenJDK をどこから入手できるかをまとめました。

# バイナリを直接ダウンロードする

## Oracle (java.net)

Oracle JDKは[こっち](http://www.oracle.com/technetwork/java/javase/downloads/index.html)

### JDK 10

GAは2018/3/20にリリース予定なのでまだ出てません。入手できるのは試験用のEarly Accessのみです。

* http://jdk.java.net/10/

### JDK 9

* http://jdk.java.net/9/
* アーカイブは実は用意されてますがリンクがありません。下のURLを編集して直接落としましょう。今後しれっと消えてるかもしれません。
    * `https://download.java.net/java/GA/jdk9/<version>/binaries/openjdk-<version>_(linux|osx|windows)-x64_bin.tar.gz`
* Linux
    * [9.0.4](https://download.java.net/java/GA/jdk9/9.0.4/binaries/openjdk-9.0.4_linux-x64_bin.tar.gz)
    * [9.0.1](https://download.java.net/java/GA/jdk9/9.0.1/binaries/openjdk-9.0.1_linux-x64_bin.tar.gz)
    * [9](https://download.java.net/java/GA/jdk9/9/binaries/openjdk-9_linux-x64_bin.tar.gz)
* Mac
    * [9.0.4](https://download.java.net/java/GA/jdk9/9.0.4/binaries/openjdk-9.0.4_osx-x64_bin.tar.gz)
    * 9.0.1 と 9 はリリースされてません。理由はOracleのみぞ知る。
* Windows
    * [9.0.4](https://download.java.net/java/GA/jdk9/9.0.4/binaries/openjdk-9.0.4_windows-x64_bin.tar.gz)
    * 9.0.1 と 9 はリリースされてません。理由はOracleのみぞ知る。

## Red Hat

Red Hatは[icedtea](icedtea.classpath.org)の実装を含むOpenJDKを配布しています。ただしバイナリの配布はWindows版のみでアカウントを作成し開発者ライセンスで諸条件を承認する必要があります。詳細は以下のサイトを確認して下さい。

* https://developers.redhat.com/products/openjdk/download/

## Azul Systems

Windows、MacOS、Linuxで利用可能なOpenJDKベースのZuluを無料で配布しています。

https://www.azul.com/downloads/zulu/

## Adopt OpenJDK (Java User Groups)

GAがリリースされる前のプレビルド版を配布している。実環境用ではなくテスト用の位置付け。

https://adoptopenjdk.net/

# ディストリビューションのパッケージ管理ツールからダウンロードする

## Red Hat Enterprise Linux / CentOS / Fedora

RHEL/CentOSは今のところ non-LTS (Java 9, Java 10) はダウンロードできない。Fedoraも[Fedora 26の時点でJava 9はtech previewであったが](https://fedoraproject.org/wiki/Changes/Java9TechPreview)デフォルトでは入手不可。

* RHEL/CentOS
    * `yum install java-1.8.0-openjdk-devel`
    * `debuginfo-install java-1.8.0-openjdk`
* Fedora
    * `dnf install java-1.8.0-openjdk-devel`
    * `dnf debuginfo-install java-1.8.0-openjdk java-1.8.0-openjdk-headless`

## Ubuntu

Ubuntuコミュニティの[OpenJDK SRU exception](https://lists.ubuntu.com/archives/ubuntu-release/2018-February/004275.html)によるとOpenJDKのGAリリースに追従する予定らしく、Java 9が普通に入手できる。

* `apt intall openjdk-9-jdk`

# 自分でビルドする

ビルド方法は http://hg.openjdk.java.net/jdk/jdk/file/tip/doc/building.md などを参考にする。なお、記事執筆時点でWindowsでビルドすることは結構難しいので注意。

## 最新

厳密には「最新」という位置付けではないが、最新のJDKの機能を触りたい場合はこの手順で問題ない。

```
hg clone http://hg.openjdk.java.net/jdk/jdk/
cd jdk
bash configure --disable-warnings-as-errors --with-jdk-boot=/path/to/jdk9or10
make images
./build/*/images/jdk/bin/java -version
openjdk version "11-internal" 2018-03-20
OpenJDK Runtime Environment (build 11-internal+0-adhoc.ykubota.jdk)
OpenJDK 64-Bit Server VM (build 11-internal+0-adhoc.ykubota.jdk, mixed mode)
```

## JDK 10
```
hg clone http://hg.openjdk.java.net/jdk/jdk10/
cd jdk10
bash configure --disable-warnings-as-errors --with-jdk-boot=/path/to/jdk9or10
make images
./build/*/images/jdk/bin/java -version
```

## JDK 9
```
hg clone http://hg.openjdk.java.net/jdk-updates/jdk9u/
cd jdk9u
bash configure --disable-warnings-as-errors
make images
./build/*/images/jdk/bin/java -version
```