본문 바로가기

open source/maven & hudson

메이븐 플러그인 :: maven-jar-plugin, maven-dependency-plugin

1. maven-dependency-plugin


메이븐에서 war 패키징이 아닌 jar 패키징시에는 의존 라이브러리들은 함께 패키징이 되지 않는다.


그리하여 의존 라이브러리도 함께 특정 디렉토리에 복사 시켜주는 기능을 해주는 것이 


maven-dependency-plugin 플러그인다.



<plugin>

            <groupId>org.apache.maven.plugins</groupId>

            <artifactId>maven-dependency-plugin</artifactId>

            <executions>

                <execution>

                    <id>copy-dependencies</id>

                    <phase>package</phase>

                    <goals>

                        <goal>copy-dependencies</goal>

                    </goals>

                    <configuration>

                        <outputDirectory>${project.build.directory}/lib</outputDirectory>

                        <overWriteIfNewer>true</overWriteIfNewer>

                    </configuration>

                </execution>

            </executions>

        </plugin> <!-- 대충 형식을 보면 무슨 뜻인지 알수 있다. -->



위와 같이 pom.xml에 설정을 해주고 package 페이즈를 실행 시키게 되면 target 디렉토리의 lib 폴더에 의존 라이브러리들이 복사 

된다.






2. maven-jar-plugin


MANIFEST.MF 파일을 만들고 싶을 때 사용하는 플러그인이다. jar 실행 파일을 만들고 싶다면 간단하게 maven-jar-plugin으로


만들수가 있다.


                 <plugin>

                        <groupId>org.apache.maven.plugins</groupId>  

<artifactId>maven-jar-plugin</artifactId>  

<configuration>  

<archive>

<manifest>

        <addClasspath>true</addClasspath>  

        <classpathPrefix>lib/</classpathPrefix>  

        <mainClass>Main</mainClass>  

        </manifest>  

    </archive>  

</configuration>

                 </plugin>


현재 경로에서의 lib 폴더의 jar파일들을 classpath로 추가 시키며, Main 클래스는 default 패키지의 Main 클래스 이다.