2015-01-13 3 views
8

Springブートアプリケーション用にIntelliJ 14.0.2で動作するリソースとテンプレートのホットデプロイメントを取得するメカニズムを知っている人はいませんか?IntelliJでのテンプレートとリソースのためのスプリングブートホットデプロイ

フルスプリングブートサポートは14.1にスケジュールされていますが、私は標準WARプロジェクトからスプリングブートプロジェクトに変換したプロジェクトを持っています。

現時点では、リソースがホットデプロイメントを取得するためのプロジェクトを手動で構築する必要があります。その場合でも、時には少しばかりです。私はテンプレートやjavascript/cssファイルを保存して、IntelliJ経由でローカルtomcatサーバーを使ってアプリケーションを実行していたときにそれを取得する方が好きです。

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

+0

あなたの痛みを感じてください。私が特に奇妙なのは、IntelliJが(@コントローラのように)簡単にテストできるクラスではなく、リソースをリロードできることです。 getClassLoader()。getResource(...)を介してアプリケーションをデプロイした後にリソースが存在することを証明する少しのデバッグテストを行いましたが、リソースの更新操作の後でこの方法では利用できなくなりました。 –

+0

ブートサポートはここでは問題ではないと思います。これはより微妙な問題です。 –

+0

現時点では、私の主なアプリケーションをSpringブートWARに戻し、ローカルTomcatでWARを実行するためにIntelliJサポートを使用しました。このアプローチを使用して私は熱い展開を取り戻しました。 – thedoctor

答えて

10

だから、いくつかのテストの後、私はここに到着し、誰かが役に立つかもしれないと思ういくつかの結論に達した:

あなたは(現時点で14の自分)のIntelliJ IDEAから埋め込まれた春のブートアプリケーションを実行している場合は、デバッグモードでは、あなたリソースを熱く再展開したい場合は、Run->Reload changed classesで行うことができます。キーボードショートカットを設定することを強く推奨します。

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

spring.thymeleaf.cache=false 

あなたはIntelliJのは、ウェブ開発のために非常に便利ですFrame deactivation上のアクションのような余分な機能を提供する外部の容器で実行している場合:

としては、あなたが必要となるホット再デプロイthymeleafテンプレートのコメントで指摘しました。これは、9.2.7の外部Jettyコンテナが問題を引き起こす、つまりUpdate resourcesアクションでリソースをアンロードすると、webappが壊れることに注意してください。唯一の修正プログラムは私のためのアプリの再起動でした。 Tomcat 8でもうまく動作します。

+0

このソリューションは、Eclipseの機能に最も近いものだと思います。 LiveReloadは正常に動作するようになりました。とにかく何かを明示的に保存する必要はないので、 'ctrl + s'のようなショートカットを割り当てることを強くお勧めします。 –

+0

この作業を行うには、application.propertiesファイルに 'spring.thymeleaf.cache = false'を追加する必要がありました。 http://stackoverflow.com/a/38371921/1647845 –

+0

はい、これを指摘していただきありがとうございます –

0
  1. あなたの春のブートアプリは
  2. 開始
  3. jetbrains-ide-support
  4. をインストールし、ブラウザやオープンyour_project_pageでゴー( http://localhost:8080/
  5. (ページ上)マウスを右クリック - >
"IDEAに点検" を選択してください
4

指示通りhereを追加すると、スタティックリソースのリロード(テンプレートとCSS)が有効になります。

これが機能するには、Build -> Compileを選択する必要があることに注意してください。

関連する問題