목차

Maven Web 플러그인

YUI Compressor

<!-- 웹리소스 배포를 prepare-package에 수행하도록 한다. 원래 기본값은 package인데, 이 경우 웹 리소스에 대한 minify가 안 된다. -->
<!-- war-plugin 설정이 위에 있어야 war:exploded가 먼저 이뤄진다. -->
<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <warSourceDirectory>webapp</warSourceDirectory>
    </configuration>
    <executions>
        <execution>
            <!-- YUI Compressor 에서 배포된 *.js 소스를 받도록 하기 위해 exploded만 phase변경 -->
            <phase>prepare-package</phase>
            <goals>
                <goal>exploded</goal>
            </goals>
        </execution>
    </executions>
</plugin>
 
<!-- 웹 리소스 배포가 끝난뒤에 즉시 minify -->
<!-- 기본 *.js 를 *.min.js 로 minify 한다. -->
<plugin>
    <groupId>net.alchim31.maven</groupId>
    <artifactId>yuicompressor-maven-plugin</artifactId>
    <version>1.3.0</version>
    <executions>
      <execution>
        <phase>prepare-package</phase>
        <goals>
          <goal>compress</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
        <encoding>utf-8</encoding>
        <force>true</force>
        <sourceDirectory>${project.build.directory}/${project.build.finalName}/js</sourceDirectory>
        <outputDirectory>${project.build.directory}/${project.build.finalName}/js</outputDirectory>
        <disableOptimizations>false</disableOptimizations>
        <nomunge>false</nomunge>
        <linebreakpos>50000</linebreakpos>
        <suffix>.min</suffix>
        <excludes>
            <exclude>**/*.min.js</exclude>
        </excludes>
    </configuration>
</plugin>

webminifier

기타