본문 바로가기

Define Java

Maven을 이용한 동적파일, 정적파일 분리하여 WAR 만들기

MAVEN의 Plug-in을 이용하여 동적파일(WAS 처리)과 정적파일(WEB Server 처리)을 분리하는 방법이다.

 

 

 컴파일 설정

 

   <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.3</version>
    <configuration>
     <source>1.6</source>
     <target>1.6</target>
     <fork>true</fork>
     <executable>C:\Program Files\Java\jdk1.6.0_43\bin\javac.exe</executable>
     <compilerVersion>1.6</compilerVersion>
     <encoding>utf-8</encoding>
     <compilerArgument>-Xlint:all</compilerArgument>
                    <showWarnings>true</showWarnings>
                    <showDeprecation>true</showDeprecation>
     <compilerArgs>
               <arg>-verbose</arg>
              </compilerArgs>
    </configuration>
   </plugin>

 

 

동적파일 생성(WAR 파일)

 

   <plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.4</version>
    <configuration>
     <webResources>
      <resource>
       <directory>WebContent</directory>
       <targetPath>/</targetPath>
       <includes>
        <include>**/*.jsp</include>
        <include>**/*.xlsx</include>
        <include>**/*.xml</include>
       </includes>
      </resource>
     </webResources>
    </configuration>
   </plugin>

 

 

정적 리소스 분리

 

   <plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.7</version>
    <executions>
     <execution>
      <id>copy-resources</id>
      <phase>validate</phase>
      <goals>
       <goal>copy-resources</goal>
      </goals>
      <configuration>
       <encoding>utf-8</encoding>
       <outputDirectory>${basedir}/target/extra-resources</outputDirectory>
       <resources>
        <resource>
         <directory>WebContent</directory>
         <filtering>false</filtering>
         <includes>
          <include>**/adobe/**</include>
          <include>**/css/**</include>
          <include>**/js/**</include>
          <include>**/fonts/**</include>
          <include>**/images/**</include>
         </includes>
        </resource>
       </resources>
      </configuration>
     </execution>
    </executions>
   </plugin>

 

 

 

** 각 설정의 include 부분을 본인에게 맞도록 수정 하면 된다.