きり丸アドベントカレンダー2020の3記事目です。ようやくSpringBootの起動ができます! なお、まだコードは触れません。
Springのプロジェクトを作成し、Gitpodにアップロードしました。しかし、現在のままではGitpodでSpringの開発をしようにも、そもそも起動ができないので動作確認ができません。
具体的には下記コマンドでSpringを起動できるのですが、コンパイルエラーが出力されてしまいます。
./gradlew bootRun
※「Permission Denied」等の権限が付与されていないのでNGとエラーメッセージが出力された場合は、下記コマンドでgradlewに対して権限を付与してください。
chmod 755 gradlew
記事のゴール
Gitpod上で下記画像の画面が出力されることを確認する。

インストール対象
環境構築
Gitpodに「Spring Boot Extension Pack」プラグインを導入します。こちらを導入しないと、Spring系のライブラリが読み込めません。
左メニューから拡張機能を選択して、検索エリアにプラグイン名を入力します。「install」ボタンをクリックすると、拡張機能をGitpodのワークスペースに紐づけるか、個人に紐づけるかを聞いてきます。
どちらでもかまいませんが、今後もGitpodでずっと開発したいんだ!っていう人に関しては、個人に紐づけた方が良さそうです。

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

なお今すぐは使いませんが、後にSpring開発で使うことになりますので同様に「Java Test Runner」と「Lombok Annotations Support for VS Codium」もインストールしておくといいでしょう。
以降はアドベントカレンダー用
こちらの記事を読んで、SpringBootの環境構築を行った人向けの内容になります。
この時点で下記コマンドを打つと、残念ながらDBの設定が入っていないせいで起動に失敗してしまいます。
./gradlew bootRun

今は無視したいので、「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

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

ソースコード
アドベントカレンダー3日目時点。 github.com
終わりに
普段の開発はIntelliJ ideaで実施しています。ですので、Gitpodの設定をいじりながらSpringBootを起動させるのは新鮮で楽しいです。
こうやってクラウドIDEのGitpodを紹介してはいるものの、最終的にはローカルで開発したほうがいいんだろうという気持ちはあります。
GitpodやAWS Cloud9等でも、こういうところを意識せずに気持ちよく開発できるのはいつになるんでしょうね。
この記事がお役に立ちましたら、各種SNSでのシェアや、今後も情報発信しますのでフォローよろしくお願いします。
類似記事
きり丸アドベントカレンダー2020 adventar.org
4日目のアドベントカレンダーの記事 nainaistar.hatenablog.com
