UbuntuでJavaを利用したいと思っている人は多いのではないでしょうか。
しかし、一言にJavaといってもJDKというものや、JREというものなど多数ありどれが適切なのかわかりにくいですよね。
そこで今日は、
・JDKとは何か理解する
・JREとは何か理解する
・Oracle版とOpen版の違いを理解する
という基本的なところを抑え、自分に合ったものを選べるようになった後、
・各Javaの導入方法
・JAVA_HOMEの設定
・JavaでHello Worldを実装
というところまで、詳しく説明していこうと思います。
Javaの種類を理解してUbuntuに導入したいと考えている方には参考になると思いますので是非参考にしていただければ幸いです!
また、本記事ではUbuntu18.04 LTSを用いて動作検証を行なっていきます。
Javaの種類を理解しよう!
さて、それではJavaにいくつかある種類について以下で述べていきましょう。
これは言わずもがなですが、Javaとはオブジェクト指向を取り入れた動的な言語になります。
JREとは?
さて、Javaを調べていてまず目につくのはこのJREという単語ではないでしょうか。
これはJava Runtime Environmentの略で簡単に言うと、Javaで構築されたプログラムを実行するために必要なもののことです。
日本語略すると、Java実行環境です。
Javaを使うと、アンドロイドアプリやネイティブアプリの開発が可能ですが、動作する側はこのJDKを導入しないと動作させることはできません。
これは、プログラムを実行する環境が整っていないので当然と言えますね。
また、JREはアプリを導入した時に自動で導入されたりもするので導入したことに気づかないこともありますが、Javaで書いたプログラムを動作できている場合はJREが導入されていると言えますね。
JDKとは?
JDKとはJava Development Kitの略でJavaで開発を行うときに必要なもののことですね。
こちらは主に、プログラマ、開発者の方に必要なものとなり、ネイティブアプリやアンドロイドアプリを実際に作成するために必要なものが詰まっています。
ちなみにJDKを導入するとJREも導入されるのでJDKとJREを別々に導入する必要はありません。
Oracle JDKとOpen JDKの違いは?
次によく目にするものに、Oracle JDKとOpen JDKというものがあると思います。
JDKをインストールしたいんだけどどっちをインストールすれば良いか迷ってしまう方も多いのではないのでしょうか。
Open JDKとはその名前の通りオープンソースのJDKになります。
オープンソースということで、無料で誰でも導入することができ、一般的に広く使われています。
しかし、バイナリを提供していません。
Oracle JDKとはOracle社が提供するJDKで、Open JDKのソースコードを元にOracleがビルドしたバイナリがOracle JDKとなります。
こちらは基本的には有料となり、1CPUあたり3000円/月ほどのサポート費用がかかります。
一般的に単にJDKと呼んだ場合にはOpen JDKを指すことが多いと思いますが、区別するためにOracle JDKとOpen JDKに別れています。
Ubuntu18.04にJREとJDKを導入していこう
さて、それでは実際にUbuntuにJREとJDKを導入していきます!
ここで導入するJDKはOpen JDKなので間違えないようにしてください。
また、動作環境のUbuntuは先述した通り、Ubntu18.04LTSになります。
それではまずは、JREの導入から見ていきましょう、
まずは例に習って
sudo apt-get update
でapt-getをアップデートしておきましょう。
その後、
java —version
でJavaが入っているか確認します。
この段階でJavaのバージョンが確認できる方は、どこかの拍子ですでにJREが導入済みですので導入の必要はありません。
Command 'java' not found, but can be installed with:
となっている方は、JREが導入されていないので、
sudo apt install default-jre
とすることでJREをインストールできます。
また、次にJDKを導入していく方法ですが、この時点で実はJDKが導入される場合もあります。
再度、
java -version
と行ってみると、
openjdk version "10.0.2" 2018-07-17 OpenJDK Runtime Environment (build 10.0.2+10-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 10.0.2+10-Ubuntu-3ubuntu1, mixed mode)
という風にJDKが導入されていますね。
JDKにJREが含まれているという話はしましたが、JREの導入に合わせてJDKが導入されることもあるようですね。
しかし、JDK10系が導入されているみたいなので、明示的に他のバージョンをインストールしてみましょう。
sudo apt install openjdk-8-jdk
このように明示的にバージョン8を指定してインストールできます。
ここで、
java -version
と行ってみると、
openjdk version "10.0.2" 2018-07-17 OpenJDK Runtime Environment (build 10.0.2+10-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 10.0.2+10-Ubuntu-3ubuntu1, mixed mode)
このようにまだ変わっていませんね。
これは、デフォルトのJavaを決めるJAVA_HOMEの設定を行う必要があるので以下で見ていきましょう。
JAVA_HOMEを設定しよう
sudo update-alternatives --config java
とすると、
以下のような画面になるので、
先ほど導入した2番を選んでエンターを押します。
その後、viなどのエディタで
vi sudo /etc/enviroment
とし、
JAVA_HOME=“/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/“
とし、保存しましょう。
その後、
source /etc/enviroment
としてやると、
java -version
openjdk version “1.8.0_191”
という風に変わっていますね。
Javaを使ってHello Worldを表示してみよう
さて、それでは最後に動作確認をしていきましょう!
vi hello.java
と適当なjavaファイルを作り、
public class hello{ public static void main(String[] args){ System.out.println("Hello World!!"); } }
中身はこのようにしましょう。
その後、
javac hello.java
とコンパイルを行い、
java hello
と実行すると、
Hello World!
このようにきちんと動作できますね!
まとめ
いかがでしたでしょうか。
今日は、JAVAの種類、それぞれの導入法、JAVA_HOMEの設定まで行ってきました。
JAVAは色々な種類がありそれぞれに名前が付いていてこんがりがちですが、しっかり理解して快適なJAVAライフをUbuntuで行なっていきましょう!
それでは!!