はじめに
2020/4/16更新
元記事がかなり誤りを含むものであったため、抜本的に記事を訂正しました。
ご指摘ありがとうございました。
色んなところにJDKを転がしてる場合に、探し方とつまづきポイントがあったという経験談の部分だけ
ご参考になさってください。
また、周知の事実ですが、Oracle JDKは
「個人での利用や開発での利用などには無償で使用できます」。
商用やそれに付随する環境の場合だけ、考慮する必要があります。
参考記事
- Oracle Java SEの有償化に伴うOpenJDKへの切り替えの案内
- [無償でJavaを商用使用する場合に検討すべき3つのJDK] (https://qiita.com/kojiita/items/72e0b88fabb210f6e68f)
以下元記事を変更したもの
経緯
社内の開発環境をWindowsPCで作るときに、手順がOracle JDKインストールする手順になっていましたが、この度有償化されたと聞きました。1
ただ、テスト環境をよく見たらOpenJDKだった2ので、WindowsでJava8のOpenJDK移行を考えてみました。
ステップ
まず事前状態から
- 環境変数
- pathは
%JAVA_HOME%\bin
に設定しています。
- pathは
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
の時にこれから実行してほしいやつ)
パスの設定
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のライセンスないの?って聞くのがよかったですね。
あと、なければ先人の記事を探すべきでした。
大概の人が引っかかっているはずだと。
-
この辺のページは解釈を入れてくれてるのでわかりやすい
https://www.orangeitems.com/entry/2018/09/26/152343 ↩ -
サーバ側のOSがRedhat Enterprise linux使ってるので、そことセットのライセンス形態になっているのかと。(資料見てない)
https://access.redhat.com/ja/articles/1457743 ↩