Spring Boot Devtoolsでホットデプロイ(自動リロード)する方法 ホームページ制作 | 墨田区

Spring Boot Devtoolsでホットデプロイ(自動リロード)する方法

LINEで送る
Pocket

Spring Boot Devtoolsでホットデプロイ(自動リロード)する方法のご紹介です。
Spring Boot Devtoolsでホットデプロイ(自動リロード)する方法

コードを書いた後、修正を反映するのに Spring Boot App を停止しては起動って・・・超メンドクサイですよね。非常に生産性が悪いし、処理を書くたびに動作確認したい自分としてはストレスしかありませんでした^^;

そんで、S2Container のようなホットデプロイする方法がないかと思って調べたところ、”Spring Boot devtools” というものがあったので試してみました。

“SilentExitException” が発生したりと色々ありましたが、とりあえず動作しているのでヨシとしましたよ。




【PR】マジか?!「アレ」してるLINEスタンプっていったい・・・


環境

Spring Boot 1.4.1
Thymeleaf 3.0.2
Windows7
Java8
Eclipse 4.6 Neon

こちらのページを参考にサンプルアプリを作ってください。既に何がしかのアプリがある場合は、読み飛ばして結構です。
Spring Bootを使ってWebアプリを作る方法

pom.xmlを編集する

pom.xml の dependencies に下記を追加します。
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-devtools</artifactId>
</dependency>

はい、これでおしまいです。後は Maven ビルドで OK。超簡単ですね^^

起動時のログ出力が [ main] から [ restartedMain] へ変わります。
ソースコード変更後の再起動は 2~3秒程度です。

補足としては、
  • JVM 実行中にクラスをリロードするのではなく、クラスパスのリソースに変更があったら自動リスタートする。
  • java -jarで起動された場合は、”production” 扱いとして自動リスタートしない。
  • 自動リスタート機能以外にも、デフォルトプロパティ、ライブリロード、リモートアプリケーション対応の機能がある。
って感じでしょうか。

SilentExitExceptionが発生する

デバッグモードで Spring Boot App を実行するたびに、スレッドは SilentExitException をスローして停止します。 もちろんブレークポイントは設定していません。
・SilentExitExceptionHandler
public static void exitCurrentThread() {
  throw new SilentExitException();
}

どうもこれは spring-boot-devtools のバグっぽいですね。
java – Breakpoint at throw new SilentExitException() in Eclipse + Spring Boot – Stack Overflow

とりあえず Eclipce メニューの[ウィンドウ]-[設定]-[Java]-[デバッグ]から、「キャッチされない例外で実行を中断」のチェックを外すことで対応しました。
Eclipse キャッチされない例外で実行を中断

まとめ

Spring Boot devtools のリスタートは、今のところそれほどストレスにもなってませんし、これでサクサク開発が進められそうな気がします。まだ試してない、ライブリロードやリモートアプリケーション対応の機能などは様子をみて試してみようと思っています。

おすすめ書籍 – 私はこの書籍1冊で Spring Boot を習得できました^^

SpringBootプログラミング入門

新品価格
¥3,024から



おつかれさまでした。

LINEで送る
Pocket

この記事がお役に立ちましたら シェア をお願いいたします。

Javaの勉強が思うように進まないときは!

Javaの勉強が思うように進まないのであれば、プロに直接質問ができる プログラミングスクール を検討してみてはいかがでしょうか?プログラミングスクールに申し込めば、短期間で一定のスキルを身に着けることができます!

Javaコースあり!オンライン完結型 テックアカデミー TechAcademy [テックアカデミー]

どこかに通う必要なく、自宅でプログラミングやアプリ開発を学ぶことができるのが特徴のスクールです。未経験からプロになるまで最短4週間という、超短期集中型の学習ができます。年齢層は10代〜40代の男女が中心で、学引があり多くの学生が受講しているそうですよ。オンラインで受講ができるスクールですので、全国どこからでも学習ができますね。

更にさらに、パーソナルメンターにチャット質問できちゃうんです!!

これは素晴らしいことですよ!ハマったり困ったことが起こるのがプログラミングの世界。知っている誰かに聞けば数分で解決することが、自分だけだと何時間もかかったりしますから!いや、これホントですよ。

しかし、便利な世の中になりましたよねー。一昔前ではオンラインで学習できるなんて、思いもよりませんでしたから。講師もバリバリのエンジニアですので、現場で使えるスキルを教えてもらえます。なんとも素晴らしいスクールがあったものですね。学割を使えば社会人より半額以下で受講できますから、学生さんには超おすすめです。

これから Java プログラミングを勉強して、将来はプログラマーとして活躍したいと思っている方には、就職保証付きJavaエンジニアコース というのがおすすめです。就職先まで保証してくれるとなれば、もう安心して学習に専念できますね。夢への第一歩はここから始まるのかも。あ、将来はライバルですね^^

オンラインスクールですから営業エリアは全国です。
気になる方は一度チェックしてみてください。無料の動画説明会も常時開催していますよ。


Javaコースあり!未経験者にウケてる KENスクール パソコンスクール・パソコン教室 【KENスクール】個別指導のWeb-DTP・OA・IT PCスクール

理解度や学習ペースに合わせて、一人ひとりが納得して前進できる授業を提供してくれるのが特徴です。特に課題製作は現場さながらで、実務に即したものとなっていますので短期でのスキルアップが望めます。自宅学習のサポートも充実していて、授業内容をいつでもビデオで振り返ることができるのもうれしいですね。好きな時間に好きな場所で、無理なくスケジューリングできるので、仕事の忙しい方でも柔軟に学ぶことができますよ。

更にさらに、なんと 就職サポート をしてくれるというのですから驚きです!!

履歴書の書き方から面接指導、求人の紹介など、具体的な就職先まで提案してくれるんです!私も「もっと早く出会いたかったなぁー、こんなスクール」・・・って思っちゃいました^^

東京・神奈川・愛知・大阪を営業エリアとされています。
まずは気軽に 無料体験予約 に申し込んでみるのもアリですよ。


コメントを残す

コメント(必須)

お名前 (必須)
メールアドレス
(アドレスは公開されません)

Trackback URL