java(jdk)のダウンロードとインストール方法

java(jdk)のダウンロード&インストール方法を初心者向けに解説 ~Windowsの環境構築


どーもー、現在某IT系の会社でjavaエンジニアとして働ている者です。(当ブログの管理人です)

今回は、これからjavaのプログラミングを学ぼうと思っている初心者の方を対象に、プログラミングをするための環境構築の手順や、

事前に知っておくべき知識(関連用語や、ライセンスなどの情報)について。

また、実際にjavaのプログラムを動作させるところまでを、順に解説していこうと思います。

というわけで、以下、目次になります。

  1. ダウンロード&インストール前に ~JDK、JRE、JVM 等の用語解説とライセンス情報について
  2. java(jdk)のダウンロード方法 ~Windows10版
  3. インストール方法&環境変数の設定手順まとめ ~Windows10への導入・入れ方
  4. javaの動作確認 ~インストール先の確認も。
  5. java(jdk)をインストールできない時の対応や、アンインストール方法について

※javaの基本については、以下の記事も参考にしてください。

Javaとは?プログラミング言語の特徴や歴史、人気な3つの理由をわかりやすく解説!

javaをダウンロード&インストール前に・・・JDK、JRE、JVM 等の用語解説とライセンス情報について

まずは、javaの環境構築を始めていく前に、知っておいた方が良い情報について、こちらではまとめていきたいと思います。

以下、Javaを提供しているOracle(オラクル)社の公式サイトのダウンロードページになります。

オラクルのjavaダウンロードページ-1

Oracle公式サイト:ソフトウェアのダウンロード:Java

上記を見れば分かる通り、「Java」のところに多くの項目が羅列されています。

「JRE」やら「JDK」やら、「Java SE」やら「Java EE」やら、初心者の方が見たら、「さっぱり分からん。。」ってなりますよね。

このように、javaのダウンロードページでは、様々な専門用語が出てきます。なので、初心者の方であれば、

「何をダウンロードすれば良いの?」となるでしょう。

なので、javaをダウンロード&インストールする際に知っておいた方が良いキーワードを以下にまとめてみました。

  • 「Java SE(Java Platform Standard Edition)」

    Javaで開発する時や動作させる際に、必要となる機能やデータがまとめられたものが、この「Java SE」になり、

    Javaでプログラミングする際には、必ず必要となります。

    ※必要となる機能やデータがまとめられたもの・・・「クラス」や「API」と呼びます。(java.lang.String クラスなど、標準クラスが揃えられています)

    現状、「Java」という言葉は、ほとんどのケースで「Java SE」(後述の「JDK」も含む)のことを指して使われているので、

    Java = Java SE = JDK

    上記の通り、理解しておけばOKです。

  • 「Java EE(Java Platform Enterprise Edition)」

    上述のオラクルの公式サイトもそうですが、Javaのダウンロードページでは、「Java EE」という言葉もよく見かけます。

    こちらは、企業向けの大規模なWebアプリケーションを開発する際に、必要となる機能やデータがまとめられたもので、前述の「Java SE」を拡張したものとなります。

    ちなみに、「J2EE(Java 2 Platform, Enterprise Edition)」という言葉も、業界ではよく利用されていますが、こちらは、Java EEの古い呼び方となります。

    バージョン4までは「J2EE」で、バージョン5からは「Java EE」という名称に変わりました。

    さらに、2018年2月に、Java EEは、「Jakarta EE」へ名称が変更されています。

    もともと、Java EEは「Oracle」が管理していましたが、「Eclipse Foundation」に移管されたことによって、名前が変更になったのです。

    (Javaという言葉はOracleの登録商標なので、移管後は使えなくなったために。。)

    ※「Jakarta EE」へ変更前の、最新バージョン:「Java EE 8(2017年リリース)」までは、SEとバージョンは紐づいていたようですが(SEのリリースから、1~3年後に後追いリリースしている)

    変更後のバージョンについては、特に紐づいていないようです。

    ちなみに、2019年に「Jakarta EE 8」。2020年に「Jakarta EE 9」のメジャーバージョンがリリースされているようです。

    ※現在では、「Java EE」をダウンロードしてプログラミングをしていくことは、あまり無い。という認識で良いです(会社など、何かしらの指定が無い限りは。)

  • 「JVM(Java Virtual Machine:Java仮想マシン)」

    こちらも、Javaのプログラミングを始める際には、必ずと言っていいほど知っておいたほうが良い用語となります。

    JVMとは、Javaのプログラムを実行するための実行マシン(ソフトウェア)となります。

    Javaの重要な特徴の一つに、どのコンピューター(OS)上でも、同じプログラム、かつ同じコンパイラで、同じように動作させることが可能。

    といった特徴がありますが、これを実現しているのが、「JVM」となります。

    JVMが、コンパイルされたプログラム(どのOSでも共通の内容)を、各OSごとに問題なく動作させるよう調整(各OSごとの機械語に翻訳する)して実行しているためです。

    ※「コンパイラ」や「機械語」については、以下の記事にて分かりやすく解説しているので、参考にしてください。

    → コンパイラ言語とは?インタプリタ言語との違いや、それぞれの特徴と言語一覧まとめ

    ただし、JVM単体ではJavaプログラムを実行させることはできないため、(厳密には、実行はできるが、Java SEの標準クラス群が無いためにエラーとなる。)

    JVMを単体でダウンロードすることはありません。必ず、後述している「JRE」or「JDK」をダウンロードすることになります。(詳細は後述にて)

  • 「JRE(Java Runtime Environment:Java実行環境)」

    JREは、Javaのプログラムを動作させるためのソフトウェアで、実行に必要なものを全て揃えたソフトウェアとなります。

    「Java実行環境」とか、「Javaランタイム」と呼ばれています。

    具体的には、以下のような構成となります。

    JRE = JVM + JavaSE(標準API(クラス)群)

    ちなみに、よく間違われる注意点の一つに、このJREをダウンロード&インストールすれば、Javaプログラムを実行させることは可能ですが、開発(プログラミング)することはできません。。

    なので、Javaのプログラミングをしたい場合には、「JRE」ではなく、次の「JDK」をダウンロード&インストールする必要があります。

    また、「JRE」は対応する「Java SE」のバージョンに合わせて、バージョン番号が付けられています。(例えば、JRE 8とか、JRE 11とか。)

  • 「JDK(Java Development Kit:Java開発キット)」

    jdkとjreとjvmの構成-1

    JDKは、Javaの開発(プログラミング)に必要なものが全てそろったソフトウェアとなります。

    上図の通り、JDKには、「JRE(実行環境)」も含まれています。

    JREに加えて、コンパイラやデバッガなど、開発に必要なものが追加されている形ですね。

    上述で記載している通り、現状では、この「JDK」のことを指して、「Java」と呼んでいるケースがほとんどとなります。

    Javaでプログラミングをする際は、このJDKが必須になります。

    また、JREと同様に、JDKも、Java SEのバージョンに合わせて番号が付けられます。(例えば、JDK 8とか、JDK 11とか。)

以上、javaをダウンロード&インストールする際に知っておいた方が良いキーワードのまとめでした。

以下でも、各項目について詳細に解説しているので、良かったらぜひ参考にしてください。

→ Java SEとは?EE、MEとの違いや、JDK、JRE、JVMについて初心者向けに解説します

java(jdk)のライセンス情報について ~ダウンロード&インストールする前に知っておくべき事

java(jdk)のライセンスについて-1

上述の通り、プログラミング言語の「Java」を提供しているのは、オラクル(Oracle)という米国の大手IT企業になります。(エンジニアであれば、知らない人はいない有名なIT企業です。)

ただし、ライセンスの扱いはけっこう複雑となっていて、ライセンスは「JDK」が対象となっていて、大きく以下の2つに分けられています。

※勉強などの私用目的でJava(jdk)を利用するだけであれば(商用利用でなければ)、「Oracle JDK」or「Oracle open JDK」で良いので、ここの章はスキップしても大丈夫です。

  1. 「Oracle JDK」

    名前の通り、オラクルが提供しているJDKであり、Javaのバージョン8までは、ライセンスは「BCL:Oracle Binary Code License」というもので、これは、デスクトップおよびサーバーによる私用・商用問わず、無償での利用を許可していました。

    ただし、9以降のバージョンについては、以下の新ルールが追加される事となりました。(9のリリース日は、2017/9)

    ※JDKは半年ごとのメジャーアップデートを行い、新しいバージョンが出たタイミングで、古いバージョンの無償アップデート(セキュリティパッチ等)は行われなくなり、アップデートをするには有償となる、新ルールが追加されます。

    各メジャー・バージョンの無償アップデートは、リリース後、2回のみ行われます(3ヶ月ごとのアップデート)

    参考:オラクル公式サイト:JDKの新しいリリース・モデルおよび提供ライセンスについて

    (有償アップデートについての詳細(対象期間や、Ver8以前の扱い)は、上記の「オラクルによる有償サポートの提供」を参考にしてください。)

    さらに、 2019年4月16日から、「Oracle JDK」のライセンスは、「OTN:Oracle Technology Network License」に変更になっています。

    このライセンス変更によって、「Oracle JDK」は、開発用途などの私用利用には、無償で利用できますが、商用利用には有償(「Oracle Java SE Subscriptions」の購入)となってしまいます。

    ※ただし、変更対象となるのは、2019年4月16日時点で、無料サポート(アップデート)期間が、終わっていないバージョンのみとなります。なので、Ver7以前や、9,10については、BCLのままなので、商用利用も引き続きOKです(ただし、サポート対象外なので、なるべく早くバージョンアップをした方が良いでしょう。)

    Ver8については、マイナーバージョンが「8u211」以降は「OTN」で、それより前は「BCL」という扱いになっています(ややこしいですね)

    (この新ルール追加とライセンス変更によって、業界ではオラクルに対して批判の嵐で、Java離れが大きく進みました。)

    では、もう一方のJDKは・・

  2. 「Open JDK」

    「Oracle JDK」のライセンス変更によって、商用利用は有償となってしまいました。

    そこで、その逃げ道となったのが、「Open JDK」となります。

    Open JDKのライセンスは、「GPL v2.0(オープンソースのライセンス)」なので、私用・商用問わず、お金は掛かりません。(オラクルがサンを買収する前から。)

    オラクルは、「Oracle JDK」を元に、「Open JDK」を提供しており、Ver11からは、全く機能差異が無いものとなっています。(11よりも前のバージョンについては、一部機能差異あり(有償機能のみ))

    ただし、オラクルが提供する「Oracle Open JDK」については、上述のアップデートに関する制限があります。(半年以降は有償となってしまう)

    なので、半年以降も同じバージョンを利用したい、かつ、アップデートのサポートを受けたい場合には、結局、「Oracle JDK」を利用することになってしまいます、、

    (アップデートをしないと、セキュリティ的に脆弱性を含んでしまう問題が出てきます、、)

    ただし、「Oracle Open JDK」は、「GPL v2.0」として公開されているので、他の企業がアップデート(セキュリティパッチ等を適用)して、再配布することが可能となっています。

    そのため、SAP、Red Hat、Google、Amazon、MicroSoft等々、名だたる大手IT企業が、それぞれの「Open JDK」を公開するようになりました。

    なので、例えば、「5年間無償でのセキュリティ・アップデート保障ありの、JDK11」を、利用することが可能になるわけですね。(いずれかの会社が提供している場合に限り)

    ちなみに、私の働いている会社では、「Adopt Open JDK」を採用して、利用させていただいています。

以上、java(jdk)のライセンスについてのまとめでした。

ライセンスについては、以下でも詳細に解説しているので、良かったらぜひ参考にしてください。

→ 【javaの商用利用の有償化問題】OracleJDKとOpenJDKのライセンスの特徴と、OSS版のおすすめまとめ

すでに、java(jdk)がインストールされていないかの確認と、32bit or 64bit(PCのビット数)のチェック

ダウンロード前には、念のため、javaがすでにインストールされていないかの確認をしておきましょう。

チェック方法は簡単です。

まずは、以下の通り、コマンドプロンプトで「java」と入力して、Enterを押してください。

javaがインストールされていないかの確認-1

上記のように、”認識されていません” と表示されればOKです(インストールされていない可能性が高いです)

ただし、インストールはしているが、環境変数に「java」をセットしていないケースもあるので、

念のため、Cドライブ(Program Filesフォルダ等)に「java」フォルダが無いか確認してみてください。

(以下は、私のPCのCドライブになりますが、複数のJDKが入っているのが分かります。)

jdkがインストールされていないかの確認-2


あとは、ダウンロードする際に必要となる情報ですが、「PCのビット数」を確認しておきましょう。

WindowsPCであれば、以下で確認できるはずです。

コントロールパネル>システムとセキュリティ>システム

Javaのダウンロード:64bitのチェック-1

32bitか、64bitでダウンロードするファイルが違うので、こちらは必ずチェックしておいてください。

※Javaのバージョンによっては、64bitしか無いものもあり。

java(jdk)のダウンロード方法 ~Windows10の実行・開発環境構築

※Windows10と記載していますが、Windowsであれば、他のバージョンでも良いので参考にしてください。

※また今回は、「Oracle open JDK」のダウンロード&インストール方法の解説になりますが、単なる勉強などの私用目的であれば、「Oracle JDK」でも大丈夫です。

ではさっそく。

まずは、以下の「Oracle OpenJDK」公式ページにアクセスしてください。

Oracle OpenJDK 公式HP:ダウンロードページ

Oracle Open JDKのダウンロード-1

特にバージョンの指定がなければ、「Ready for use」のJDKで良いでしょう。

バージョンの指定があれば、「Reference implementations」にて、選択してください。

javaのダウンロード-2

今回は、WindowsのPCにインストールするので、「Windows/x64」の「zip」を選択して、ダウンロードします。

※上記から、JDK17については、64bit用しか無いことが分かります。

OpenJDK(java)のWindows 64ビット版のダウンロード-3

これで、ダウンロードは完了です。

java(jdk)のインストール方法&環境変数(Path)の設定手順まとめ ~Windows10への導入・入れ方

※Windows10と記載していますが、Windowsであれば、他のバージョンでも良いので参考にしてください。

まずは、ダウンロードしたファイルを解凍してください。

今回は、「C:\java」の配下に、解凍したフォルダを配置しています。(場所はどこでも良いです)

OpenJDK(java)のWindows 64ビット版のインストール-1

以上、java(jdk)のインストールはこれで完了です。

続いて、環境変数を設定していきます。

環境変数とは、PCの設定で、ソフトウェアのパス(場所)を定義したものです。

今回で言えば、Javaの場所を定義します。

そうすることで、PCが、Javaの場所を認識し、javaを実行する際に、わざわざ先ほどインストールしたフォルダを指定しなくても、実行することが可能となります。

以下、環境変数のPathを設定する前と後の、イメージになります。

javaの環境変数のPathの設定-1

上記は、どちらもjavaを実行(バージョンの確認)しているのですが、環境変数を設定する前は、インストールしたjdkのbinフォルダを指定して、実行しています。(じゃないと、エラーになります)

逆に、設定したあとは、どこの場所(path)でも、javaの実行が可能となります。

なんとなく、イメージできましたでしょうか。

では、実際に設定していきます。

まずは、環境変数の設定画面を開きます。(以下のように、検索窓で、”環境変数” と検索して、画面を開いてください。)

環境変数のjava pathの設定-1

続いて、「システムのプロパティ」画面が開くので、下図を参考に、環境変数のPathを設定していってください。

環境変数のjava pathの設定-2

一点、「ユーザー環境変数」と「システム環境変数」がありますが、システム全体への適用で良いと思うので、「システム環境変数」の方の、Pathを設定してください。

Pathは、インストールしたjdkのbinフォルダを指定してください。(厳密には、java.exe が存在するフォルダ)

以上で設定は完了です。

以下の通り、「java -version」と実行して、結果が表示されればOKです。

java-version-check-1

※ちなみに、ここまで解説しといてアレですが、環境変数の設定は必須ではありませんので参考までに。(私は設定していません)

java(jdk)の動作確認 ~メモ帳でのプログラミングと、コマンドでのコンパイル+実行手順です

javaの動作確認の流れ-1

javaのインストールが完了したところで、さっそくプログラミング+コンパイル+実行をして、動作確認をしていきましょう。

通常、Javaのプログラミングは、IDEと言って「統合開発環境」を利用してプログラミングをしていくのですが、

今回はあくまで簡易的な動作確認だけなので、普通に「メモ帳」等のエディタを利用していきます。

IDE(統合開発環境)については、以下の記事にて詳細に解説しているので、ぜひ参考にしてみてください。

→ 【Eclipse入門】ダウンロード&インストール方法 ~java統合開発環境の構築手順まとめ

※Javaのプログラミングに、IDEは必須と言っていいでしょう。私の職場でも、EclipseというIDEを利用して開発をしています。

では、「プログラミング」、「コンパイル」、「実行」と、3ステップに分けて、順に解説していきます。

  1. 「プログラミング」

    まずは、以下の通り、拡張子:「.java」のファイルを作成してください。

    javaインストール後の動作確認:ファイルの作成-1

    ※ファイル名の「Sample1」の部分は、何でも良いです。

    以下が、ファイルの中身(javaプログラムのサンプル)になります。

    
    public class Sample1 {
    	
    	public static void main(String[] args) {
    		System.out.println("java-sample1");
    	}
    
    }
    
    

    プログラムの内容は、”java-sample1″ と表示させるだけのプログラムですが、詳細なプログラムの解説についてはココでは割愛します。

  2. 「コンパイル」

    プログラムファイル(.java)の作成ができたら、次はコンパイルをして、クラスファイル(.class)を新規作成します。

    ※コンパイルとは・・・javaで記載されたプログラムを、PCが理解できる(実行可能な)「機械語」に変換する作業のことを言います。(厳密には、JVMが認識可能な「バイトコード(中間言語)」への変換となります。)

    ※上記の通り、「.java」のままだと、プログラムを実行することができないので、「.class」ファイルに変換することで、実行させることができます。

    コンパイルする手順は、

    コマンドプロンプトで、先ほどインストールした「jdk」の「bin」ディレクトリに移動して、「javac」コマンドで、上記にて作成した「.java」を指定して実行します。(以下、例)

    C:\java\openjdk-17.0.1_windows-x64_bin\jdk-17.0.1\bin>javac C:\Users\●●●\Desktop\Sample1.java

    ※環境変数(Path)を設定している場合は、binディレクトリに移動しなくても(どこからでも)、「javac」の実行が可能となります。

    javaインストール後の動作確認:コンパイル実行-1

    ※「javac」・・・javaプログラムをコンパイルするコマンドになります。

    コンパイルが正常に終わると、「.java」が存在するパスに「.class」が新規に作成されます。

    javaコンパイル:classファイルの作成-2

    ※ちなみに、javaプログラムに問題がある場合はコンパイルに失敗し、クラスファイルは生成されません。エラー内容はコマンドプロンプトに表示されるので、解決してから、再度コンパイルをする必要があります。

  3. 「実行」

    コンパイルまで終わったら、あとは「.class」ファイル(プログラム)を実行するだけです。

    実行も、コマンドプロンプト上でおこないます。

    先ほどインストールした「jdk」の「bin」ディレクトリに移動して、「java」コマンドで実行します。

    (環境変数(Path)に設定している場合は、binに移動しなくても大丈夫です。)

    C:\java\openjdk-17.0.1_windows-x64_bin\jdk-17.0.1\bin>java -classpath C:\Users\xxx\Desktop Sample1

    Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true
    java-sample1

    javaインストール後の動作確認:コマンド実行-2

    ちゃんと、”java-sample1″ がコンソールに表示されていることも分かりますね。

    (その上の ”Picked up JAVA_TOOL_OPTIONS” については、デフォルトで毎回表示されるようになっていますが、特に気にしなくて良いです。)

    1点注意点として、実行する際は、ちゃんと「クラスパス」と「クラス名」を指定する必要があります。

    クラスパスとは・・・「.class」ファイルがあるディレクトリパスのことで、-classpathオプションで、パスを指定します。

    今回は、「Sample1.class」は、デスクトップ上に置いているので、デスクトップのパスを指定してるわけですね。

    クラス名は、「Sample1」になります。

以上、プログラミング>コンパイル>実行と、一通りの動作確認の流れを解説してきました。

ちなみに、今回はメモ帳とコマンドを利用してきましたが、

開発環境(Eclipseなど)を利用すれば、コンパイルは、「.java」ファイルの保存時に、自動的にやってくれますし、実行についても、ボタン一つで実行してくれます。

なので、javaのプログラミングをガッツリやっていく場合は、間違いなく開発環境を利用した方が、効率的にプログラミングを進めていけるので、ぜひ利用するようにしてください。

最後に、、java(jdk)をインストールできない時の確認事項や、アンインストール方法について

java(jdk)をインストールできない時の確認対応-1

まずは、現状のインストール状況の確認をしてください。

そもそもjavaがインストールされているのか不明なケースの場合は、確認事項は以下の4点になります。

  1. コマンドプロンプトで「java」が認識するか確認

    「java -version」で、バージョンも確認しておくと良いでしょう。

    (参考 : java(jdk)のバージョン確認手順とアップデート方法まとめ ~最新のバージョン情報も

  2. 「コントロールパネル>プログラム>プログラムのアンインストール」から、javaが存在するか確認

  3. 「コントロールパネル>システムとセキュリティ>管理ツール>サービス」から、javaが存在するか確認

  4. Cドライブに、”java” や “Oracle” と、名の付くフォルダがあるか確認

    「確認すべきフォルダ例」

    ・C:\ProgramData\
    ・C:\Program Files\
    ・C:\Users\xxx(ログインユーザー名)\AppData\

以上、4つの確認ポイントでした。

上記の確認にて、すでにjavaがインストールされている場合、それを利用するのであれば何も問題は無いのですが、

もし、「新たに、最新バージョンのjavaをインストールしたい」としたい場合には、古いものをアンインストールしなければいけないケースもあります。

※今回みたいに、ファイルをそのままダウンロードしてくる方法であれば(インストーラーやセットアップを利用していない場合)は、古いものが残っていても問題は無い想定ですが。。

私のPCでも、複数のバージョンのjava(jdk)で並行運用しています。

アンインストールが必要な場合は、基本的には、他のソフトウェアをアンインストールする手順と同じです。

「コントロールパネル>プログラム>プログラムのアンインストール」ですね。

この方法でアンインストールできない場合は、以下を参考にしてください。

→ java(JDK)をアンインストール(削除)する方法まとめ ~Windows&Mac編

以上です、アンインストールが完了したら、再起動して、再度インストールをしてみてください。

というわけで、だいぶ長くなりましたが、ここまでjava(JDK)のダウンロード&インストールと、動作確認の手順についてまとめてきました。

今後、javaプログラミングを始めようと思っている方や、学んでいこうと思っている方の参考になっていれば幸いです。

以下も良かったら参考にしてみてください。

→ Java言語でできること(用途事例)と、学習するメリット:8選 ~初心者向けのまとめです


コメントを残す

メールアドレスが公開されることはありません。