【環境構築】Docker + Dev ContainerでサクッとJava環境構築してみた
Javaのプロジェクトを起こすまでもないけれど、サクッと簡単にJava単体ファイルを実行したい…
といったお悩みに応えるべく、環境構築を行った時の記録です。
環境使用方法まで解説していますので、ぜひ最後までご覧ください!!
開発環境・使用ツール
- Windows の場合
- WSL2
- Docker Desktop(これが使用できれば問題ありません)
- Visual Studio Code
- Macbook Pro (Intel) の場合
- Docker Desktop
- Visual Studio Code
環境構築方法
ここから環境構築方法を解説します。
Step 0: VS Code拡張機能【Dev Containers】のインストール
VSCodeを開き、拡張機能の検索ボックスでDevContainersと検索し、インストールします。
Step 1: Javaの環境フォルダの作成
ターミナルに以下のように入力して、フォルダを作成し、移動します。
<folder name>
については半角でお好きな名前にしてください。
ここではフォルダの階層の前提条件は述べていませんので、どこにフォルダを保存したのかだけは覚えていてください。
$ mkdir <folder name>
$ cd <folder name>
今回、環境構築を試す例として <folder name>
を java-env
としておきます。
Step 2: Dev Containerの設定
先ほど作成したフォルダをVSCodeで開きます。
コマンドパレットを起動し、 dev containers configuration file
と検索します。
すると検索結果がズラリと並びますが、この度は写真の青い部分をクリックします。
最初にコンテナ構成の追加場所について聞かれるので、青い部分を選択します。
続いて構成ファイルの内容を聞かれるので、今回はJava(青い部分)を選択します。
今回はGradleを使用するので、以下のようにチェックを入れてください。
今回、拡張オプションについては何も選択せず、そのままOKを押しています。
最後までOKを押すと右下に以下のようなアナウンスが出るかもしれません。「コンテナーで再度開く」を実行してください。
もしも出ない場合は、左下の矢印が二つ重なっているようなアイコンを選択した後に
「コンテナー構成ファイルを開く」で同じ操作ができます。
Step 3: Gradleの設定
次にJavaをビルドするための、Gradleの設定を行います。
Step1で作成した <folder name>
の直下に build.gradle
というファイルを作成してください。
コードは以下をペーストしてください。
plugins {
id 'application'
id 'java'
}
// JARファイルの作成
jar {
manifest {
// TODO: ここを変更!!
attributes 'Main-Class': 'Package.class'
}
}
保存すると、右下に何やら、「設定を自動で書き替えますか?」的なアナウンスが出てくるので、「Yes」を押してください。
Step 4: 実行フォルダ場所の作成
ターミナルで以下のコマンドを入力して(もしくは手動で)、ディレクトリを作成してください。
なお <folder name>
にはStep 1で作成したフォルダ名をそのまま書いてください。
一つ目のコマンドは、カレントディレクトリが <folder name>
であるならば、実行しなくても構いません。適宜パスを調整してください。
$ cd <folder name>
$ mkdir ./src/main/java
環境構築はこれにて完了です。お疲れ様でした。
Java環境使用方法
ここから、作成した環境の使用方法について説明します。
Step 0: Docker Desktopを起動
Dev ContainersはDocker Desktopを使用するため最初に起動しておいてください。
Step1: VS CodeでJava環境のフォルダを開く
環境構築のStep 1で作成した <folder name>
をVS Codeで開いてください。
この時、右下に「環境開発コンテナで開き直しますか?」のようなアラートが出ますので、Yesを押してください。
アラートが出ない場合は、環境構築方法のStep 1で解説した「コンテナー構成ファイルを開く」方法でも開くことができますので、試してみてください。
Step 2: 実行プログラム保存用フォルダを作成する
- 環境構築時のStep 4で作成した
java
フォルダの中に新たにフォルダを作成します。(名前はエラーっぽい表示が出なければ何でもいいです) - そのフォルダの中に、javaファイルを作成してください。
- 作成したjavaファイルの行頭に以下を記述してください。
package <Package Name>;
今回は例として、 example1
フォルダの中に example.java
ファイルを作成し、以下のような簡単なコードを書きました。
Step 3: ビルドする
build.gradle
ファイルの以下の行を以下のように編集してください。
attributes 'Main-Class': <パッケージ名>.<クラス名>
今回の例だと、以下のようになります。
次に、ターミナルで以下のコマンドを実行して、ビルドを実行してください。
$ gradle build
Step 4: ターミナルでJavaを実行
以下をターミナルで入力して、プログラムを実行してください。
<folder name>
は環境構築時のStep 1で作成した時の名前を記述してください。
今回の実例では、 java-env
にあたります。
$ java -jar ./build/libs/<folder name>.jar
ターミナルで、無事にJavaファイルが実行されたら成功です!!
お疲れ様でした!!
終わりに
私はJavaについてあまり詳しくないのですが、Javaを本気で学びたくなったとき、実行環境が手軽に手元にあるとやはり便利だなと感じると思いました。
個人的には、Dev Containersについても少し学びが深まりました!
ぜひ、みなさんも活用してみてください!
参考にさせていただいた記事
Discussion