さまざまな環境で通常のJavaScriptファイルまたは最小バージョンを使用するようにプロジェクトを設定することはほぼ完了しましたが、理解できないことが1つあります。少なくとも、エレガントではありません。
YUIコンプレッサーを使用するようにプロジェクトのMavenPOMを設定しました。
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<suffix>.min</suffix>
</configuration>
<executions>
<execution>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
</plugin>
これは問題なく動作します。
また、さまざまなcssファイルとjavascriptファイルを含めるためのfreemarkerマクロを作成しました...「min」バージョンを使用する場合は、それらにサフィックスが追加されます。
<#macro cssAndJavaScript public useMin>
<#assign suffix = "" />
<#if useMin>
<#assign suffix = ".min" />
</#if>
<#if public>
<link rel="stylesheet" type="text/css" href="${base}/css/public/base${suffix}.css" media="screen, projection"/>
<link rel="stylesheet" type="text/css" href="${base}/css/public/webpageLayout${suffix}.css" media="screen, projection"/>
<link rel="stylesheet" type="text/css" href="${base}/css/public/forms${suffix}.css" media="screen, projection"/>
<link rel="stylesheet" type="text/css" href="${base}/css/public/publicWebpages${suffix}.css" media="screen, projection" />
<link rel="stylesheet" type="text/css" href="${base}/css/public/login${suffix}.css" media="screen, projection" />
<#else>
<link rel="stylesheet" type="text/css" href="${base}/css/ui-lightness/jquery-ui-1.8.6.custom${suffix}.css" media="screen, projection"/>
<link rel="stylesheet" type="text/css" href="${base}/css/jcrop/jquery.jcrop${suffix}.css" media="screen, projection"/>
<link rel="stylesheet" type="text/css" href="${base}/css/application/base${suffix}.css" media="screen, projection"/>
<link rel="stylesheet" type="text/css" href="${base}/css/application/webpageLayout${suffix}.css" media="screen, projection"/>
<link rel="stylesheet" type="text/css" href="${base}/css/application/forms${suffix}.css" media="screen, projection"/>
<link rel="stylesheet" type="text/css" href="${base}/css/application/entityListing${suffix}.css" media="screen, projection"/>
<link rel="stylesheet" type="text/css" href="${base}/css/application/entityView${suffix}.css" media="screen, projection"/>
<link rel="stylesheet" type="text/css" href="${base}/css/application/questions${suffix}.css" media="screen, projection"/>
<link rel="stylesheet" type="text/css" href="${base}/css/application/categoryQuestions${suffix}.css" media="screen, projection"/>
<link rel="stylesheet" type="text/css" href="${base}/css/application/miniScoreCard${suffix}.css" media="screen, projection"/>
</#if>
<script src="${base}/js/jquery/jquery-1.4.2${suffix}.js"></script>
<script src="${base}/js/jquery/jquery-ui-1.8.6.custom${suffix}.js"></script>
<script src="${base}/js/jquery/jquery.tmpl${suffix}.js"></script>
<script src="${base}/js/jquery/jquery.jcrop${suffix}.js"></script>
<script src="${base}/js/json/json2${suffix}.js"></script>
<script src="${base}/js/jwplayer/jwplayer${suffix}.js"></script>
<script src="${base}/js/core${suffix}.js"></script>
</#macro>
私の唯一の問題は、テスト環境または本番環境にいる場合に、SpringまたはMavenにフリーマーカースクリプトに「true / false」(またはサフィックスも設定できると思います)を入れさせることです。この問題にどのように対処しましたか?正直なところ、アプリをデプロイするときに手動でいじくり回したくはありません。Mavenに「本番環境を使用してください」と伝えたいだけです。