Maven에서 의존 라이브러리들 같이 패키징 하기

웹 어플리케이션(war)이 아닌 일반 자바 어플리케이션(jar)에서 Maven으로 Packaging
할때 참조하는 관련 라이브러리들을 특정 디렉토리에 복사하는 기능을 합니다.

(1) pom.xml의 build 엘리먼트에 아래와 같이 설정을 추가 한다.

<build><strong>
...........</strong></pre>
   <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-dependency-plugin</artifactId>
      <executions>
         <execution>
            <id>copy-dependencies</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
               <outputDirectory>${project.build.directory}/lib</outputDirectory>
               <overWriteReleases>false</overWriteReleases>
               <overWriteSnapshots>false</overWriteSnapshots>
               <overWriteIfNewer>true</overWriteIfNewer>
            </configuration>
        </execution>
      </executions>
   </plugin>
   <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <configuration>
        <archive>
           <manifest>
            <addClasspath>true</addClasspath>
            <classpathPrefix>lib/</classpathPrefix>
            <mainClass>theMainClass</mainClass>
           </manifest>
         </archive>
       </configuration>
   </plugin>
...........
</build>

(2) install 또는 package 명령을 수행후에 “이클립스 프로젝트/target/lib” 디렉토리에
참조하는 라이브러리들이
저장 된다.

댓글 남기기