2015-12-05 8 views
6

SpringブートテクノロジなしでSpringを使用する場合、Tomcat Mavenプラグインでアプリケーションを起動し、変更を有効にするためにサーバを再起動しなくてもhtml、css、jsを更新できますブラウザに表示されます。Springブートを使用したIntellijの資産のライブリロード

ここで、Springブートでこれを行うとき、静的資産で何かを変更するたびにIntelliJでMakeタスクを実行する必要があります。そうしないとブラウザの変更が表示されません。 My Spring Bootアプリケーションもdevtoolsの依存関係を使用しています。探しているときにブラウザをライブリロードソケットに接続しています。

この設定では、静的ファイルに行った変更はまだ表示されません。これを実現するためには何が必要ですか?

答えて

1

問題は静的資産の配置にあるようです。私はそれらをmainパッケージのwebappフォルダに入れなければなりませんでした。私は静的資産を代わりにresourcesパッケージに入れることを勧告する前に、Spring.ioからのガイドに従っていました。

これで、resourcesパッケージを使用しなくなりました。すべての機能が動作します。

+0

解決策を見つけてうれしいです。静的なリソースが 'resources'フォルダにあって、まだ変更を受け入れていないのは奇妙です。私は99%確信しています。 – Mike

+0

私はこの同じ問題を抱えていました。あなたはこれもあなたのhtmlファイルのために働くことができましたか?これは私がsrc/main/webapp/[css | js]に移動したときに私のjs/css用に修正されましたが、テンプレートをsrc/main/webapp/templatesに移動したときにコントローラがテンプレートを見つけることができませんでした。どんな助け? – user2923779

+2

私のアプリケーションをspring-bootで走らせるとき、静的ファイルを 'resources'に置かなければなりませんでした。 'webapp'ディレクトリに配置した場合、私が作成していたJARファイルには含まれません。 spring-bootでは、WARファイルをもうビルドする必要はありません。したがって、 'resources'が静的コンテンツの好ましい場所であるように思えます。 LiveReloadは、IntelliJ15でプロジェクトを作成するとき(CMD + F9)にのみ機能します。 – Miguel

0

あなたが現在のSpring Boot 1.3.0.RELEASE documentationに従っている場合は、問題の解決方法を正確に説明しているようです。 IntelliJとMavenを併用する方法についても説明します。

これを確認して、文書化されたパスに最初に従っているかどうかを確認してください。

私がリンクしているドキュメントページに記載されているドキュメントに従う前に、正しいMaven依存関係を使用していることを確認してください。

+0

bootRun { addResources = true } 

とMavenのために:これはGradleのための次の設定を使用して達成するために

。しかし、私は静的資産をリロードしているので、Javaファイルのホットスワップには興味がありません。また、このガイドでは、テンプレートをまったく使用しないユーザーについては何も言及していませんでした。私が持っているのは、正規の.htmlファイルだけです。 私は今、Mavenで定義されたspringloadedプラグインを持っていることに言及する価値はありません。 – Kaspar

+0

はい、十分です。私はもう少し見渡した。 [自動再起動のセクション20.2](https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html)を読んだことがありますか。具体的には、*トリガーおつり*。私はEclipseで作業するので、IntelliJのこのセクションを理解するのがよいでしょう。 – Mike

+0

[静的リソースの除外(セクション20.2.1)]に関する別のセクションもあります(https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html# using-boot-devtools-restart-exclude)を実行します。また役に立つかもしれません。他のすべてが失敗した場合は、[Watching Additional Paths](https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html# using-boot-devtools-restart-additional-paths)を実行すると、問題が解決する可能性があります。 – Mike

6

プラグインなしでjarをビルドすると、webappディレクトリの静的資産は使用できません。だから私はこのdirを使用しないでください。スプリングブートの場合は、静的資産にresources/staticフォルダを使用する方が良いでしょう。しかし、Gradleの​​ゴールまたはMavenのspring-boot:runを実行している間にリロードされるようにします。このガイドは、ホットスワップ技術を使用することを提案

<plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
    <configuration> 
     <fork>true</fork> 
     <addResources>true</addResources> 
    </configuration> 
</plugin> 
+0

私はあなたが上記で説明した設定を持っていますが、CTRL-F9とブラウザをリフレッシュしてhtmlへの変更を取得する必要があります。 CTRL-F9を避けるために必要なことは何ですか? –

+0

@AlGrant CTRL + Sを押すだけで十分です – Derp

+0

私はここのテクニックに従いました:http://stackoverflow.com/questions/43402551/intellijspringbootthymeleafgradle-autoreload-html-resourcesレジストリ設定の後にIntellijを再起動しなければならないことに注意してください自動的にリロードします。 –

関連する問題