一部の CSS ファイルには、展開場所 (dev、QA、prod) によって異なるパラメーターが含まれています。例えば:
background: url(#DOJO_PATH#/dijit/themes...)
特定の CDN またはローカルにホストされている Dojo インストールへのパスをハードコーディングするのを避けるため。
これらの値は、webapp のコンテンツを Tomcat webapps ディレクトリにコピーするときに、デプロイメント スクリプトによって実際の値にテキストで置き換えられます。このようにして、環境固有の構成ファイルによって提供されるさまざまなパラメーターを使用して、同じ展開アーカイブ ファイル (他の構成を含む WAR + TAR ファイル) を dev、QA、および prod に展開できます。
ただし、WAR の内容 (テンプレート化された CSS ファイルを含む) を、この社内展開スクリプトから独立させたいと考えています。デプロイ スクリプトを実際に制御することはできないため、Tomcat を#DOJO_PATH#
アプリケーションの context.xml 内の環境変数として構成し、実行時に Tomcat を使用してそれらのパラメーターを CSS に挿入することしか考えられません。
CSS ファイルを生成された JSP にすることはできましたが、少し見苦しく思えます。さらに、置換はアプリケーションのデプロイメントごとに 1 回だけ行う必要があるため、JSP を使用してスタイルシートを繰り返し動的に生成するのはかなり無駄です。
これに使用する代替のアイデアやツールはありますか? 私たちは、Tomcat にコミットし、デプロイ時または実行時 (つまり、ビルド時ではありません) にこれらのパラメーターを置換することに取り組んでいます。