きり丸アドベントカレンダー2020の1記事目です。今回のアドベントカレンダーはJavaとSpringBootを使いつつ、TODOアプリを作って公開するところまでやりたいと考えてます。
はじめてのJavaのプログラミングに最適!という形で皆さんに紹介できたら、と考えています。
この記事のゴール
- Gitpodにて、指定のJavaのバージョンで起動する
java --version
で目的通りのバージョンが起動したらゴール
環境
ライブラリ
- Java
- 15
- Docker
その他のライブラリに関しては、都度紹介します。
オンラインエディタ
- Gitpod
できるだけ各個人の環境差異が無いように、クラウドIDEのGitpodを使用します。Gitpodについてのきり丸の記事はこちら。
ソースコード管理
Gitpodを扱う際に、リポジトリも必要となるので、事前にアカウントを作成してください。
手順
GitHubでリポジトリを作成する
今回の記事では説明しません。GitHub公式からリポジトリを作成してください。
Gitpodを起動する
作成したリポジトリのURLに対して、「gitpod.io/#」を頭に付与してください。
例えば、今回作成したリポジトリは下記です。 https://github.com/hirotoKirimaru/adventCalendar2020
このURLにアクセスすると、Gitpodのワークスペースを作成できます。
gitpod.io/#https://github.com/hirotoKirimaru/adventCalendar2020
Gitpodの設定を初期化する
ターミナルに下記コマンドを入力して、Gitpodの設定ファイルを生成します。
gp init
実行後、.gitpod.yml
と.gitpod.Dockerfile
が自動生成されています。
GitpodのJavaのバージョンを指定する
現在、デフォルトのGitpodには、Javaの11.0.9がインストールされています。もし、Java11で動作させる場合は特に設定不要です。少なくとも、Javaの次の長期サポート(LTS)はJava17の2021年9月なので、それまでは何もせずとも確認できるでしょう。
ただし、今後も同一環境であることは証明できないので、この設定しておくと環境固定ができるのでお勧めです。
# Java の version確認方法 java --version
今回のアドベントカレンダーではOpenJDK:ZuluのJava15をインストールします。特にオススメのOpenJDKはありませんので、自由に選んでください。GitpodのデフォルトJDKがZuluなので、今回はZuluを選んでいます。
GitpodにはJavaをインストールするためのSDKMANが含まれているので、SDKMANを使用してインストールします。SDKMANが管理するJavaのリストは下記コマンドで取得できます。
インストール対象のIdentifierを確認してください。
sdk list java
gp init
で初期化した.gitpod.Dockerfile
に下記コマンドを加えます。
今回は、Identifierが15.0.1.fx-zulu
をインストールするので下記コマンドにしています。
FROM gitpod/workspace-full USER gitpod RUN bash -c ". /home/gitpod/.sdkman/bin/sdkman-init.sh \ && sdk install java 15.0.1.fx-zulu"
GitpodにJavaをインストールする(Gitpodを一度破棄して作成しなおす)
.gitpod.Dockerfile
の修正を環境に反映するには、一旦作成したワークスペースを破棄する必要があります。単純にワークスペースのstartとstopを行うだけでは反映されません。なお、Gitpod上で操作したファイルはワークスペースの破棄時に消えてしまうので、必ずGitHubに修正をpushしてから実施してください。
ワークスペースの破棄後に最初と同様にワークスペースを作成すると.gitpod.Dockerfile
のロードが始まってインストールが始まります。
今後も.gitpod.Dockerfile
を更新するときは破棄して再生成する必要があります。単純な環境変数は別の手段で設定できます。他の手段もあるかもしれないですが、今回は見つけられませんでした。
Javaのインストールを確認
下記コマンドを実行し、目的のJavaのバージョンがインストールできていれば環境構築完了です。
java --version
自動import機能をオンにする
アドベントカレンダーを6日目まで記事を書いた後に、この設定をやっておくとちょっと楽、という点に出会いました。
ヘッダーの「File」から「settings」をクリックして、「Open Preferences」をクリックします。
そうすると、Gitpodの設定画面が表示されるので、「Save Actions」の「Save Actions Organize imports」をオンにしてください。
この設定を行っても、確実にimportされるわけではありませんが、まだマシになります。
ソースコード
1日目の完了時のタグに合わせています。 github.com
終わりに
アドベントカレンダーの技術検証が済んでいないので、どこまでできるかが分かりませんが頑張ります。
まだまだJavaの需要は尽きないと思うので、ぜひこのアドベントカレンダーをみてJavaでTODOアプリ作ってみたいなぁ、という方は参考にしてみてください。駆け出しエンジニアに届け。
この記事がお役に立ちましたら、各種SNSでのシェアや、今後も情報発信しますのでフォローよろしくお願いします。
参考記事
Gitpod公式のJavaインストール方法 www.gitpod.io
類似記事
きり丸アドベントカレンダー2020 adventar.org
2日目のアドベントカレンダーの記事:TODO