Blog

Maven JAR Plugin을 이용하여 별도로 MANIFEST.MF 파일을 수동으로 지정하기 위해서 다음과 같이 사용할 수 있습니다.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <archive>
            <index>true</index>
            <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
            <manifest>
                <addDefaultImplementationEntries/>
            </manifest>
        </archive>
    </configuration>
</plugin>


Maven Dependency Plugin을 이용하면 Maven PM에 추가한 dependency의 모든 .jar 파일을 빌드시 추출할 수 있습니다.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.3</version>
    <executions>
        <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <outputDirectory>target/lib</outputDirectory>
        <overWriteIfNewer>true</overWriteIfNewer>
    </configuration>
</plugin>

이 방법을 잘 이용하면 .jar 패키징시 dependency 파일들을 .jar 파일 내에 같이 패키징할 수 있습니다. 특히 이 방법은 .war 파일의 /WEB-INF/lib  디렉토리에 .jar 파일을 복사하는 개념과 동일하다고 볼 수 있스빈다.