yuicompressor-maven-pluginでJS、CSSファイルを圧縮・難読化
Webサイトを作成していて、Javascriptのコードが増えてきた場合、Javascript圧縮&難読化をしたい場合が出てくる。
その処理を、mavenのwar作成処理の中に加えたい。
そんな時に、yuicompressor-maven-pluginというものが便利だったので紹介。
利用方法は以下。
pom.xml
<pluginRepositories> <pluginRepository> <name>oss.sonatype.org</name> <id>oss.sonatype.org</id> <url>http://oss.sonatype.org/content/groups/public</url> </pluginRepository> </pluginRepositories> <build> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <warSourceExcludes>WEB-INF/classes/**/*.*,WEB-INF/lib/*.jar</warSourceExcludes> <!-- 圧縮したものを加える。 --> <webResources> <resource> <directory>${project.build.directory}/minimized</directory> <targetPath>/</targetPath> <filtering>false</filtering> </resource> </webResources> </configuration> </plugin> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>yuicompressor-maven-plugin</artifactId> <executions> <execution> <goals> <goal>compress</goal> </goals> </execution> </executions> <configuration> <webappDirectory>${project.build.directory}/minimized</webappDirectory> <linebreakpos>-1</linebreakpos> <!-- 1行にまとめる --> <encoding>UTF-8</encoding> <nosuffix>true</nosuffix> <!-- 圧縮後のファイルに接尾語を付けない。 --> <force>true</force> <jswarn>false</jswarn> <!-- すでに圧縮済みのファイルは除外する --> <excludes> <exclude>**/*.min.js</exclude> <exclude>**/*.min.css</exclude> </excludes> </configuration> </plugin> </plugins> </build>
その他の機能として、圧縮ファイルを1ファイルにまとめることも可能なようです。
こちらを参考にしてください。