きり丸の技術日記

技術・エンジニアのイベント・資格等はこちらにまとめる予定です

【Java】GitpodでSpringが使えるように環境構築する(VS Codeでも流用可)

きり丸アドベントカレンダー2020の3記事目です。ようやくSpringBootの起動ができます! なお、まだコードは触れません。


Springのプロジェクトを作成し、Gitpodにアップロードしました。しかし、現在のままではGitpodでSpringの開発をしようにも、そもそも起動ができないので動作確認ができません。

具体的には下記コマンドでSpringを起動できるのですが、コンパイルエラーが出力されてしまいます。

./gradlew bootRun

※「Permission Denied」等の権限が付与されていないのでNGとエラーメッセージが出力された場合は、下記コマンドでgradlewに対して権限を付与してください。

chmod 755 gradlew

記事のゴール

Gitpod上で下記画像の画面が出力されることを確認する。

f:id:nainaistar:20201122114531p:plain

インストール対象

  • 必須
    • Spring Boot Extension Pack
  • 準必須
    • Java Test Runner
    • Lombok Annotations Support for VS Codium

環境構築

Gitpodに「Spring Boot Extension Pack」プラグインを導入します。こちらを導入しないと、Spring系のライブラリが読み込めません。

左メニューから拡張機能を選択して、検索エリアにプラグイン名を入力します。「install」ボタンをクリックすると、拡張機能をGitpodのワークスペースに紐づけるか、個人に紐づけるかを聞いてきます。

どちらでもかまいませんが、今後もGitpodでずっと開発したいんだ!っていう人に関しては、個人に紐づけた方が良さそうです。

f:id:nainaistar:20201122114548p:plain

その後、Chromeをリロードすると拡張機能に追加されています。

f:id:nainaistar:20201122114604p:plain

なお今すぐは使いませんが、後にSpring開発で使うことになりますので同様に「Java Test Runner」と「Lombok Annotations Support for VS Codium」もインストールしておくといいでしょう。

以降はアドベントカレンダー

こちらの記事を読んで、SpringBootの環境構築を行った人向けの内容になります。

この時点で下記コマンドを打つと、残念ながらDBの設定が入っていないせいで起動に失敗してしまいます。

./gradlew bootRun

f:id:nainaistar:20201122114619p:plain

今は無視したいので、「build.gradle」に書かれているDBの依存関係はコメントにしましょう。

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    // implementation 'org.flywaydb:flyway-core'
    // implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.4'
    compileOnly 'org.projectlombok:lombok'
    // runtimeOnly 'com.h2database:h2'
    // runtimeOnly 'org.postgresql:postgresql'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

再度下記コマンドを実行すると、SpringBootの起動に成功した「Started」の文字が表示されます。画面をGitpod上で開く「Open Preview」か、ブラウザで開く「Open Browser」のボタンが表示されます。

./gradlew bootRun

f:id:nainaistar:20201122114644p:plain

「Open Preview」をクリックしたときに表示される画面が、今回の記事のゴールとなる画面になります。

f:id:nainaistar:20201122114531p:plain

ソースコード

アドベントカレンダー3日目時点。 github.com

終わりに

普段の開発はIntelliJ ideaで実施しています。ですので、Gitpodの設定をいじりながらSpringBootを起動させるのは新鮮で楽しいです。

こうやってクラウドIDEのGitpodを紹介してはいるものの、最終的にはローカルで開発したほうがいいんだろうという気持ちはあります。

GitpodやAWS Cloud9等でも、こういうところを意識せずに気持ちよく開発できるのはいつになるんでしょうね。


この記事がお役に立ちましたら、各種SNSでのシェアや、今後も情報発信しますのでフォローよろしくお願いします。

類似記事

きり丸アドベントカレンダー2020 adventar.org

4日目のアドベントカレンダーの記事 nainaistar.hatenablog.com

f:id:nainaistar:20201109133010p:plain