RHELのビルド環境 – OpenJDKを使ったJavaアプリケーションのセットアップ

RHELのビルド環境 – OpenJDKを使ったJavaアプリケーションのセットアップ

OpenJDKを活用してRHEL上でJavaアプリケーションを構築する手順を解説します。環境構築、依存関係のインストール、Javaアプリケーションのビルドおよび実行に必要なすべてを網羅しています。

RHELの初期設定

システムを最新状態に保つためにアップデートを実行します。

sudo yum update -y

OpenJDKのインストール

必要なバージョンのOpenJDKをインストールします。

sudo yum install -y java-11-openjdk java-11-openjdk-devel
java -version

Gradleのインストール

ビルドツールとしてGradleを使用します。

sudo yum install -y wget
wget https://services.gradle.org/distributions/gradle-7.6-bin.zip
sudo mkdir /opt/gradle
sudo unzip -d /opt/gradle gradle-7.6-bin.zip
sudo ln -s /opt/gradle/gradle-7.6 /opt/gradle/latest
export PATH=$PATH:/opt/gradle/latest/bin
gradle -v

Mavenのインストール

必要に応じてApache Mavenをインストールします。

sudo yum install -y maven
mvn -v

Java開発環境のセットアップ

プロジェクトディレクトリを作成し、サンプルコードを追加します。

mkdir ~/java-app
cd ~/java-app

Javaプロジェクトの作成

シンプルなJavaプロジェクトを作成します。

mkdir -p src/main/java/com/example
nano src/main/java/com/example/Main.java

以下のコードを追加:

package com.example;

public class Main {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}

ビルドファイルの作成

Gradleを使用してビルド設定を記述します。

nano build.gradle

以下の内容を追加:

plugins {
id 'java'
}

group = 'com.example'
version = '1.0'

repositories {
mavenCentral()
}

dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter:5.9.2'
}

test {
useJUnitPlatform()
}

プロジェクトのビルド

Gradleを使用してプロジェクトをビルドします。

gradle build

Javaアプリケーションの実行

ビルドしたアプリケーションを実行します。

java -cp build/classes/java/main com.example.Main

ログと出力の確認

アプリケーションの実行ログを確認します。

tail -f /var/log/messages

JARファイルの作成

実行可能なJARファイルを生成します。

gradle jar
java -jar build/libs/java-app-1.0.jar

Java環境のパス設定

環境変数を設定してJavaを常時使用可能にします。

nano ~/.bash_profile

以下を追加:

export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which java)))))
export PATH=$JAVA_HOME/bin:$PATH

設定を反映:

source ~/.bash_profile

サードパーティライブラリの利用

依存関係を追加し、再ビルドします。

dependencies {
implementation 'com.google.guava:guava:31.1-jre'
}
gradle build

まとめ

RHELでのOpenJDKを使ったJavaアプリケーション開発は、適切なツールと手順を通じて効率的に行えます。ビルドプロセスを自動化することで、開発効率をさらに向上させることができます。