【まとめ】Oracle JDKが有償と言われたときに気づいたこと、やってしまったこと

# はじめに
2020/4/16更新
元記事がかなり誤りを含むものであったため、抜本的に記事を訂正しました。
ご指摘ありがとうございました。

色んなところにJDKを転がしてる場合に、探し方とつまづきポイントがあったという経験談の部分だけ
ご参考になさってください。


また、周知の事実ですが、Oracle JDKは
「個人での利用や開発での利用などには無償で使用できます」。

商用やそれに付随する環境の場合だけ、考慮する必要があります。

# 参考記事
- [Oracle Java SEの有償化に伴うOpenJDKへの切り替えの案内](https://ipc.kyokyo-u.ac.jp/page/696)
- [無償でJavaを商用使用する場合に検討すべき3つのJDK] (https://qiita.com/kojiita/items/72e0b88fabb210f6e68f)



---------------------
以下元記事を変更したもの


# 経緯


社内の開発環境をWindowsPCで作るときに、手順がOracle JDKインストールする手順になっていましたが、この度有償化されたと聞きました。[^1]

ただ、テスト環境をよく見たらOpenJDKだった[^2]ので、WindowsでJava8のOpenJDK移行を考えてみました。
[^1]: この辺のページは解釈を入れてくれてるのでわかりやすい
  https://www.orangeitems.com/entry/2018/09/26/152343
[^2]: サーバ側のOSがRedhat Enterprise linux使ってるので、そことセットのライセンス形態になっているのかと。（資料見てない） 
 https://access.redhat.com/ja/articles/1457743

# ステップ
まず事前状態から

- 環境変数
    - pathは` %JAVA_HOME%\bin`に設定しています。

```
C:\>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.8.0_161
```
- javacのバージョン

```
C:\>javac -version
javac 1.8.0_161
```
- javaのバージョン

```
C:\>java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
```
あれ？javaのバージョン違うな… %JAVA_HOME%見てくれてないから昔の設定が残ってるんだろうな…
ま、いっか。

## とりあえずググる
以下手順は、基本的に実施しないでください。理由は後述します。
- apt-get yum 使える環境はここでおさらばです https ://openjdk.java.net/install/
- we are windows! https ://jdk.java.net/
    - うん、最新版は入れれるよ、8どこ？ ->https ://jdk.java.net/java-se-ri/8-MR3


## インストール＆配置
Accept License Agreement して、zipをダウンロードする。
筆者は下記のようにoracle JDKのフォルダがまとまっていたので、ここに新たに置いた。
- oracle：jdk1.8.0_161(`javac`の時に実行されるやつ), jre1.8.0_211(`java`の時に実行されるやつ)
- open：java-se-8u40-ri (`javac``java`の時にこれから実行してほしいやつ)

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416137/02a6ba8d-1a06-a4f8-badf-b68dc66ac9f6.png)|
|:-:|

## パスの設定
### javac
まずは`%JAVA_HOME%`変えれば、javacはいけるっしょ

```
C:\>echo %JAVA_HOME%
C:\Program Files\Java\java-se-8u40-ri
```
- javacのバージョン

```
C:\>javac -version
javac 1.8.0_40
```
変わったー

### java
```
C:\>java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
```
で、変わらなかったので、`%PATH%`をまじまじ見ると…

```
C:\ProgramData\Oracle\Java\javapath
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
```
こんなのがあった。なんだこれ
→ぐぐる http://ooltcloud.sakura.ne.jp/blog/201802/article_09182611.html

```
 C:\ProgramData\Oracle\Java\javapath のディレクトリ

2018/04/24  08:54    <DIR>          .
2018/04/24  08:54    <DIR>          ..
2018/04/24  08:53           207,816 java.exe
2018/04/24  08:53           208,328 javaw.exe
2018/04/24  08:53           354,248 javaws.exe
               3 個のファイル             770,392 バイト
               2 個のディレクトリ  349,382,586,368 バイトの空き領域

C:\ProgramData\Oracle\Java\javapath>
```
```
 C:\Program Files (x86)\Common Files\Oracle\Java\javapath のディレクトリ

2019/04/18  09:01    <DIR>          .
2019/04/18  09:01    <DIR>          ..
2019/04/18  08:59           207,736 java.exe
2019/04/18  08:59           208,248 javaw.exe
2019/04/18  08:59           354,168 javaws.exe
               3 個のファイル             770,152 バイト
               2 個のディレクトリ  349,428,879,360 バイトの空き領域

C:\Program Files (x86)\Common Files\Oracle\Java\javapath>
```
どうやら、ここらへんにある`java.exe`が使われてたみたい＆JREをインストールした時に勝手に設定されていたみたい。
→意を決して削除（あるいは`%PATH%`内の順序を下げる）。

```
C:\>java -version
openjdk version "1.8.0_40"
OpenJDK Runtime Environment (build 1.8.0_40-b25)
OpenJDK Client VM (build 25.40-b25, mixed mode)
```
いけたー


# ダメなところ
https://jdk.java.net/java-se-ri/8-MR3
**These binaries are for reference use only!**

デカデカと書いてあることを無視していました。参照のために使いなさいなので、不適切でした。

# 本当にすべきこと
例えばこの場合は、まずRed Hatのライセンスないの？って聞くのがよかったですね。
あと、なければ先人の記事を探すべきでした。
大概の人が引っかかっているはずだと。