Mavenプラグイン、YUI Compressorの使い方
YUI Compressor を利用する Javaスクリプトや CSS ファイルを圧縮するためのツールで、Maven プラグインで利用できます。YUI Compressor Maven プラグインを利用する手順をご紹介します。
- プロジェクトのpom.xmlファイルに、このプラグイン構成を追加します。
<build>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.5.1</version>
<executions>
<execution>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>
<exclude>**/*.min.js</exclude>
<exclude>**/*.min.css</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
- 圧縮を実行するには、プロジェクトディレクトリで次のコマンドを実行してください。
mvn yuicompressor:compress
圧縮ファイルはプロジェクトのtargetディレクトリに生成されます。
プラグインのその他の構成設定を使用することで、圧縮動作をカスタマイズすることもできます。例えば、圧縮するファイルと出力先を指定できます。以下は構成例です。
<configuration>
<excludes>
<exclude>**/*.min.js</exclude>
<exclude>**/*.min.css</exclude>
</excludes>
<includes>
<include>src/main/webapp/js/*.js</include>
<include>src/main/webapp/css/*.css</include>
</includes>
<linebreakpos>-1</linebreakpos>
<nosuffix>true</nosuffix>
<force>true</force>
<jswarn>false</jswarn>
<nomunge>true</nomunge>
<preserveAllSemiColons>true</preserveAllSemiColons>
<disableOptimizations>true</disableOptimizations>
<outputDirectory>${project.build.directory}/compressed</outputDirectory>
</configuration>
以上の設定により、src/main/webapp/js配下のJavaScriptファイル、src/main/webapp/css配下のCSSファイルを圧縮し、圧縮後のファイルをtarget/compressed配下に出力します。
JavaScriptファイルをYUI Compressorで圧縮する場合は、YUI CompressorはECMAScript 5構文のみをサポートしているため、ECMAScript 5仕様に準拠していることを確認してください。コードにECMAScript 6以降の構文が含まれている場合は、他のツールを使用してコードを変換するか、別の圧縮ツールを使用する必要がある場合があります。