어제 문제가 있었던 동일 아티팩트의 다른 버전이 여러 리포지토리에 걸처 있을 때 아티팩트를 제대로 다운로드 하지 못하는 문제에 대해서 오늘 테스트를 해봤다.

같은 groupId, artifactId를 가지는 아티팩트가 두개의 리포지토리에 동시에 존재하고 각각 다른 버전을 가지고 있다. 이때 한쪽 리포지토리에만 있는 버전을 사용하려고 시도하면 경우에 따라(Maven내부의 리포지토리 우선순위에 따라) pom파일을 다운로드 하기는 하지만 jar를 엉뚱한 리포지토리에서 가져오려고 시도하다가 파일을 찾을 수 없다는 에러를 내고 빌드가 실패하는 현상이 일어난다.

검증을 하기 위해 몇가지 테스트를 해보았는데 결론은

  • 버전을 정확히 지정하면 이 때는 정상적으로 동작한다.
  • 버전 범위(version range)를 사용하면 POM까지 받아논 리포지토리를 제대로 확인못하고 jar파일을 제대로 가져오지 못한다.

이다.

Maven 2.0.9, Maven 2.0.10, Maven-2.1.0-M2-SNAPSHOT 에서 모두 동일한 문제가 있다.

 

지금까지 드러난 여러가지 문제를 볼 때 Maven을 사용할 때 version range의 사용은 극히 주의를 해야한다. 가능한 사용하지 않는 것이 바람직하다. Maven 버전체계의 문제로 인한 혼란, 중복 리포지토리 사용시 다운로드 실패 등의 복잡한 문제의 원인이 된다.

패치를 만들어서 제출할까도 생각해봤지만, 이건 근본적인 Maven 버전체계가 바뀌지 않으면 해결되기 힘든 문제인듯 해서 관뒀다. Version Range는 3.0에서나 써야할 듯.

 

Range를 사용했던 Spring 3.0 POM 은 버전을 구체적으로 지정하는 것으로 변경하고, 귀찮지만 스프링 빌드를 새로 할 때마다 POM의 버전도 업데이트 해주도록 변경하기로 했다. 어짜피 마일스톤 나올 때까지는 POM은 SNAPSHOT으로 갈 거니까 상관없겠지.

Related posts:

  1. Maven 3.0과 버전 포맷 문제
  2. Maven 재도전기 (1)
  3. Maven 의존관계 수렁에 빠지다
  4. Nexus Maven Repository 1.0 출시
  5. Maven: The Definitive Guide 사라지다
  6. Maven의 새로운 가이드북 – Maven: The Definitive Guide
  7. Maven POM에 attribute 사용하기 (1)
  8. Ruby on Maven
  9. Spring 3.0 (34) R-941 스프링의 Maven 지원정책은?
  10. Maven archetype 설정파일 자동생성기 – ArchetypeXmlWriter
  11. Maven settings.xml의 비밀번호 암호화
  12. Maven POM에 attribute 사용하기 (2)
  13. 유쾌한 이슈처리 재촉 메일
  14. Maven의 version range를 사용할 때 주의할 점
  15. Maven과 OSGi(Spring)의 버전포맷 비호환 문제

Facebook comments:

to “Maven 다중 리포지토리와 버전 범위를 사용할 때의 주의점”

  1. You said it nicely.. Buy Aralen Side

  2. Many thanks. I enjoy this. buy finasteride

  3. Seriously a good deal of beneficial info. Lisinopril Hctz Order Online baclofen generic propranolol

  4. Thanks a lot. I value this. Aralen Online

  5. You actually revealed that fantastically. baclofen 10 mg tablet

  6. here are some links to web-sites that we link to mainly because we consider they’re really worth visiting

  7. always a huge fan of linking to bloggers that I really like but dont get a whole lot of link appreciate from

  8. Nicely put. With thanks. chloroquine drug

  9. You actually revealed this wonderfully. hydrochlorothiazide recall

  10. Great beat ! I would like to apprentice whilst you amend your website, how could i subscribe for a weblog site? The account aided me a appropriate deal. I were tiny bit familiar of this your broadcast provided shiny clear concept

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2017 Toby's Epril Suffusion theme by Sayontan Sinha