2013-06-21 2 views
8

Maven 종속성 관리의 주요 이점은 무엇입니까? 서버에 버전이있는 lib 폴더가 있고 각 개발자는 IDE에서 해당 디렉토리를 가져 와서 최신 상태로 유지하면됩니다. 메이븐 (Maven)은 그보다 간단 할 수 있습니까? 당신이 메이븐 종속성을 사용하여 얻을 것이다Maven : 종속성 관리의 이점

+0

우리는 2 년 동안 Maven을 사용하며 매우 쉽게 처리 할 수 ​​있습니다! 우리는 다른 시스템을 사용하지 않을 것이므로 매우 권장 할 것입니다. –

답변

12

프로젝트 별 lib를 사용하는 것은 간단한 해결책처럼 보입니다. 하지만 결국에는 문제가 발생할 것입니다.

  • foo.jar의 위치는 어떻게 기억합니까?
  • 해커가 변경되지 않았다고 합법적 인 출처가 맞습니까?
  • 정확히 어떤 버전이 foo.jar입니까? 원래 버전이나 패치 한 것입니까?
  • You want JavaDoc/sources with that?
  • foo.jara.jar이 필요합니다. y.jar이 필요합니다. z.jar 필요 ... 정말로 모든 것을 다운로드하고 개별적으로 관리하고 싶습니까?
  • 두 번째 프로젝트를 시작합니다. 이제 두 개의 lib 폴더가 있습니다. 항아리를 복사하거나 첫 번째 프로젝트에서 항아리를 참조합니까?
  • 두 번째 프로젝트에는 하나의 JAR 버전이 필요합니다. 어떻게 처리합니까?
  • foo.jar을 다음 버전으로 업그레이드한다고 가정 해보십시오. Maven을 사용하면 1 분 작업입니다. lib 폴더는 웹 검색, JAR 다운로드, 올바른 위치 지정, 이름 바꾸기, 이전 버전 삭제, 새 버전 추가, 변경 사항 커밋, 모든 종속성에 대해 동일한 작업 수행, ...
  • 프로젝트를 다른 사람과 공유하고 싶습니다. 그들은 JAR 버전을 원하지 않을 수도 있습니다. Maven은 의존성을 오버라이드 할 수있는 간단하고 효율적인 메커니즘을 가지고 있습니다.
  • 결국 법적 부서에서 프로젝트에 호환되지 않는 라이센스가 있음을 보장하도록 요청할 것입니다. Maven은 모든 의존성에 대한 모든 라이센스에 대한 보고서를 제공 할 수 있습니다. 메이븐의 의존성 관리의
+0

이것들은 꽤 좋은 이유입니다. 감사합니다. –

+0

좋은 답변입니다. 나는 당신이 소스와 javadoc 항아리를 똑바로 다운로드 할 수있게 해주는 maven을 추가 할 것이다. –

+0

@MatthewGilliard : 당신은 절대적으로 맞습니다. 추가됨. –

0

에 따라 장점 :


1. 일관성 :은 - Maven은 조직이 모범 사례의 집합을 표준화 할 수 있습니다. Maven 프로젝트는 표준 모델을 따르기 때문에 덜 불투명합니다. 미국 문화 유산 사전에서이 용어를 정의하면 의미가 완벽하게 포착됩니다. "정연하고, 논리적이며, 심미적으로 일관된 부품 관계로 표시됩니다."

2. 재사용 : - Maven은 재사용 기초 위에 만들어졌습니다. Maven을 채택하면 전체 산업의 모범 사례를 효과적으로 재사용 할 수 있습니다.

3 - 민첩성 : - Maven은 빌드 논리뿐만 아니라 구성 요소의 재사용을위한 장벽을 낮 춥니 다. Maven을 사용할 때 구성 요소를 만들고 다중 프로젝트 빌드에 통합하는 것이 더 쉽습니다. 개발자가 맞춤형 집에서 제작 한 빌드 시스템에 수반되는 가파른 학습 곡선없이 다른 프로젝트간에 쉽게 이동할 수 있습니다.

3. 유지 관리 : - Maven을 채택한 조직은 빌드 빌드를 중단하고 응용 프로그램에 집중할 수 있습니다. Maven 프로젝트는 놀라움이 적고 공통 모델을 따르기 때문에 유지 관리가 용이합니다.

클릭 here

1

예는 수 많은 혜택에 대해 알아야 할 사항!

"each developer just need to import that dir in the ide and keep it up to date" 

Maven은 당신이 지속적인 통합 및 기타 배포 메커니즘을 사용하는 경우이 자동적으로 ;-)

이 또한 큰 장점을 가지고 않습니다. lib 폴더를 신경 쓰지 않고도 모든 환경에서 프로젝트를 쉽게 만들 수 있습니다. 추가적으로 건물, 배치, 코드 분석가 등 많은 플러그인이 있습니다.

2

maven을 사용하면 개인 저장소가 있거나 프로젝트 (maven2와 같은 공용 라이브러리)를 사용하여 프로젝트에서 사용하는 라이브러리를 얻을 수 있으므로 개인적으로 다운로드하여 동료와 Subversion간에 관리 할 필요가 없습니다 섬기는 사람.

하나의 라이브러리를 다른 라이브러리로 변경하거나 더 새로운 버전으로 업데이트하려는 경우 버전 번호 또는 라이브러리 이름을 수정해야만 할 수 있습니다. 당신은 도서관을 다른 사람들과 공유 할 필요없이 도서관을 다운로드 할 수 있습니다. pom.xml 파일 만 공유하면됩니다.

Maven은 이뿐 만 아니라 응용 프로그램 (WAR, EAR, JAR, APK 등)을 패키지화하고 (JDK 버전, 매개 변수 등) 컴파일하는 방법과 구성 방법을 구성 할 수 있습니다. 프로젝트의 Eclipse 구조이므로 원본, 리소스 및 마법 "pom.xml"구성 파일 만 갖는 새 프로젝트를 만들 수 있습니다.

시도해보십시오!

1

물론 Maven은 훌륭하지만, 당신과 같은 버전있는 lib 폴더가 적어도 더 단순 해 보일 수도 있습니다. Maven 메타 데이터가없는 라이브러리를 사용할 때, Maven Repo에 넣기 전에 약간의 작업을해야한다.

0

Addtional 혜택 :

  • 그것은 당신이 원하는 경우 예를 들어, 유용 (대부분의 라이브러리에 대한 소스 코드를 쉽게 얻을
  • 대부분의 라이브러리에 대한 자바 독을 쉽게 얻을 디버그)
  • 컴파일, 실행, 테스트시 어떤 Jar 파일이 필요한지 명시하고 분석하는 것은 쉽습니다.