11

Spring Boot アプリケーションの IntelliJ 14.0.2 で機能するリソースとテンプレートのホットデプロイメントを取得するメカニズムを知っている人はいますか?

Spring Boot の完全なサポートが 14.1 で予定されていることは知っていますが、標準の WAR プロジェクトから Spring Boot プロジェクトに変換したプロジェクトがあり、ホット デプロイが本当に恋しいです。

現時点では、ホット デプロイを行うためにリソースが含まれるプロジェクトを手動でビルドする必要がありますが、それでも時々不安定になることがあります。IntelliJ 経由でローカルの tomcat サーバーを使用してアプリを実行していたときと同じように、テンプレートまたは javascript/css ファイルを保存して取得することをお勧めします。

これを機能させるために Eclipse に戻すこともできますが、私のプロジェクトは Scala ベースであり、IntelliJ Scala のサポートははるかに優れています。

4

3 に答える 3

13

したがって、いくつかのテストの後、私はいくつかの結論に達しました。ここに到着した誰かが役に立つかもしれないと思います:

IntelliJ IDEA (現時点では 14 を使用) から組み込みのスプリング ブート アプリケーションをデバッグ モードで実行していて、リソースをホット再デプロイしたい場合は、次の方法で実行できますRun -> Reload changed classes。キーボード ショートカットを設定することを強くお勧めします。

Loaded classes are up to date. Nothing to reload.メッセージに惑わされないでください。静的リソースが更新されました (.jsファイルと Thymeleaf テンプレートでテスト済み)。

thymeleaf テンプレートのホット再デプロイのコメントで指摘されているように、次のものが必要になります。

spring.thymeleaf.cache=false

外部コンテナで実行している場合、IntelliJ はFrame deactivationWeb 開発に非常に便利なアクションなどの追加機能を提供します。これは問題なく動作しますが、9.2.7 の外部 Jetty コンテナーが問題を引き起こすことに注意してください。つまり、Update resourcesアクション時にリソースをアンロードして、Web アプリケーションを壊します。唯一の修正は、アプリの再起動でした。ただし、Tomcat 8 では問題なく動作します。

于 2015-03-19T09:36:21.960 に答える