CentOS7でJava環境(OpenJDK)を構築する

やりたいこと

CentOS7にJava環境を構築する。OralceJavaではなく、OpenJDKを利用する場合の手順を記載する。

注意点

java-1.8.0-openjdk.x86_64をインストールすることで、JDK環境が構築できるように思えるが(xxxjdkってjdkって名乗っている)、このパッケージはJavaSE同等のもの。よって、java-1.8.0-openjdk.x86_64をインストールしてもjavacコマンドが使えない。

java-1.8.0-openjdk.x86_64だけでは以下のようなことが起こる。

$ java -version
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)

$ javac
-bash: javac: コマンドが見つかりません
$ mvn package
...
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project app: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

JDK相当のパッケージはjava-1.8.0-openjdk-devel。これをインストールすることで、javacコマンドも利用可能になる。

OpneJDK環境構築

パッケージインストール

# yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel

環境変数設定

$ export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
$ export PATH=$PATH:$JAVA_HOME/bin

動作確認

$ java -version
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)

$ javac -version
javac 1.8.0_111