라이브러리를 배포하려는데, 혹은 다른 곳에서 만든 라이브러리의 maven 기반 소스를 가지고 가져오려는데 이 라이브러리가 의존하는
것들까지 들고 오는게 쉽지 않다. 의존하는 라이브러리는 다 m2 저장소에 있지만 그것을 일일이 복사해 가져올 수도 없고 들고
오자니 그것도 귀찮고…

1. 생성한 라이브러리안에 의존하는 라이브러리 클래스도 한 번에 다 넣기. 파일 하나만 나와서 편하긴 한데, 덩치도 크고 소스보기 하려고 소스 폴더나 파일 연결해보면 무지 불편하다는 것을 알게 된다.
  어쨌든 방법을 설명하면
  1) pom.xml 파일에 빌드가 가능하게 maven-assembly-plugin관련 설정에 depenedency를 포함하게 추가.
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <configuration>
            <descriptorRefs>
              <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
            <archive>
              <manifest>
                <mainClass>fully.qualified.MainClass</mainClass>
              </manifest>
            </archive>
          </configuration>
        </plugin>
   2) mvn assembly:assembly 로 jar생성
  이러면 library-version-jar-with-dependencies.jar 라는 이름으로 의존관계 클래스를 다 포함하는 jar가 생성된다.

2. 의존관계 라이브러리를 하나의 디렉토리에 자동으로 모으기
        mvn dependency:copy-dependencies으로 명령 내리면 target/dependency 디렉토리에 의존하는 라이브러리 파일을 다 복사해 모아준다.
   더 자세한 설명은 http://maven.apache.org/plugins/maven-dependency-plugin/ 참고하면 된다.

Leave a Reply

Your email address will not be published. Required fields are marked *