2017-03-27 18 views
2

春ブーツやTomcatは開発環境で、私の静的な資産の.jsや.cssファイルをキャッシュをリフレッシュするたびに持っていると私が構築する必要があります - >プロジェクトをビルドします(IntelliJの中)毎回更新されたバージョンを取得します。春ブーツやTomcatのキャッシュ静的な資産は、再ビルドをする

これらのアプリケーションプロパティを試しても機能しませんでした。

spring.resources.cache-period=0 
spring.resources.chain.cache=false 
spring.resources.chain.html-application-cache=false 
spring.resources.chain.strategy.content.enabled=false 
spring.resources.chain.strategy.content.paths=/** 

私はTomcatを設定するには、このBeanを持っているし、それは同様に動作しませんでした試みた:

@Bean 
    public EmbeddedServletContainerFactory servletContainer() { 
     TomcatEmbeddedServletContainerFactory tomcatFactory = new TomcatEmbeddedServletContainerFactory() { 

      @Override 
      protected void postProcessContext(Context context) { 
       final int cacheSize = 0; 
       StandardRoot standardRoot = new StandardRoot(context); 
       standardRoot.setCachingAllowed(false); 
       standardRoot.setCacheMaxSize(cacheSize); 
       context.setResources(standardRoot);  
      } 
     }; 
     return tomcatFactory; 
    } 

のjsとcssファイルを変更した場合、私はプロジェクトを毎回のビルド行うにはしたくありません、私はBrowserSyncのようなものを使ってウェブページに自動的に変更を適用することもできますが、私はTomcat/Springがビルドプロジェクトをクリックすることなく開発環境の静的資産を提供する必要があります。

ドキュメントは本当に便利ではなく、ドキュメントによるCSSやJSファイルを変更する一つ一つの時間を構築クリックする以外に方法はありません。 http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-hotswapping

しかし、これは非常にシンプルで完璧に達成可能なものでなければならないと私は信じています。

私は次に何を試すべきですか?

ありがとうございます。

答えて

2

これはキャッシュされていません。別のフォルダ(例:target)にプロジェクトをビルドすると、ソースファイル(*.js*.css)がコピーされ、そこからブラウザに送信されます。 Build Projectボタンでこのファイルがコピーされ、変更されたことがわかります。

IntelliJでBuild project automaticallyオプションを有効にするか、変更後にファイルをコピーするために他のツール(例:bower)を使用することができます。

+0

ありがとう、IntelliJ Ideaレジストリ設定が機能しました!以前にそのターゲット/フォルダについて考えていたはずです...乾杯! – Seregwethrin

関連する問題