maven war build시 source 포함시키기

Posted 2014. 2. 25. 10:51

Default로 maven을 build하면 java source는 배포되지 않습니다.

하지만 Sample code 같은 소스가 필요해서 함께 배포해야 한다면 다음과 같이 설정하면 됩니다.

이렇게 배포된 소스는 dynamic web project로 import 하여 개발이 가능합니다.

 

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
     <webResources>
      <resource>
       <directory>${basedir}/src/main/java</directory>
       <targetPath>WEB-INF/classes</targetPath>
      </resource>
     </webResources>
    </configuration>
  </plugin>

 

위와 같이 배포된 war 파일의 압축을 풀면 /WEB-INF/classes/에 .java 파일이 .class파일과 함께 포함되어 있는것을 확인할 수 있습니다.

이제 배포된 war 파일을 dynamic web project로 import 해보도록 합니다.

아래와 같은 모습을 하는 웹프로젝트가 생성됩니다.

 

 

이제 설정 및 소스를 수정해서 eclipse war로 배포하면 됩니다.

 

참고로 war 의 소스가 아닌 jar 의 소스버전을 포함한 build를 하기 위해서 제공되는 plugin 및 사용방법은 다음과 같습니다.

참고 : http://whiteship.tistory.com/2242

             <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

 

 

maven 은 참 알면 알수록 다양한 기능을 제공합니다.