it-swarm-ko.tech

메이븐 또는 아이비? 이미 생산중인 시스템에서 어떤 것이 더 좋습니까? 그리고 다른 차이점은?

나는 이것이 복잡한 질문이라는 것을 알고 있지만 이미 많은 시스템과 버그가 있고 디자인이 나쁜 시스템의 경우 어떤 것이 더 나은지 알고 싶습니다. 정말 엉망입니다.

실제로, 나는 이미이 프로젝트를 Maven으로 변환하고 있으며 많은 문제에 직면하고 있기 때문에 이것을 묻습니다. 폴더 구조를 조정하고 회사에서 만든 끔찍한 프레임 워크를 프로젝트 (jar 라이브러리로 변환)에서 분리하고 프로젝트를 항상 중단시키는 많은 세부 사항을 수정하고 모든 것을 만들도록 POM.xml을 구성해야했습니다. Ant가 이미 수행 중이며 애플리케이션에서 실제로 버전으로 사용되는 lib를 발견했습니다 (lib의 많은 부분이 버전 번호없이 이름이 바뀌고 매니페스트 파일이 비어 있음).

글쎄, 정말 지옥이었다. 나는이 작업 중에 미쳤고 항상 나를 따라온 질문은 "그리고 그것을 아이비로 변환한다면? 더 쉬울 것입니까?"였습니다.

나는 Ivy와 함께 일한 적이 없지만 Ant와 함께 작동한다는 것을 알고 Maven보다 프로젝트를 쉽게 적용 할 수 있습니다. 반면 Maven은 Word에서 훨씬 더 많이 사용됩니다 (잘못입니까?). 이유가 있어야합니다!

그래서 내 질문이 있습니다.

  • Jenkins/Hudson과의 통합 : 아이비를 사용하면 Maven처럼 쉬운가요?
  • Sonar plugin : 위와 같은 질문입니다. 통합이 간단합니까?
  • Eclipse 용 플러그인 : 이것은 Maven의 매우 약점입니다. 플러그인은 끔찍하지만 아이비를 모르겠습니다.
  • 배치 프로세스 : 모든 것이 구성되면 프로젝트를 배포하고 게시하는 것이 매우 쉽습니다. 아이비와 함께?
  • Conversion : 프로젝트를 Maven으로 변환 한 경험은 끔찍했지만 시스템은 도움이되지 않았습니다. 내가 가진 옵션은 Maven이 새로운 프로젝트, Maven과 함께 작업 한 프로젝트가 놀랍지 만 크고 조직화되지 않은 프로젝트가 있다면 좋은 선택이 아니라는 것입니다. 내가 잘못?
  • Plugins : POM.xml에 구성 할 플러그인이 많이 있습니다. 아이비에게 너무 많은 옵션이 있습니까?
  • 인기 : 어느 것이 더 인기가 있습니까? 어느 것이 더 많이 사용되고 왜?

글쎄요. 고마워요!

49
Pmt

우선, Ivy 웹 사이트에서 Ivy/Maven 비교 를 읽으십시오. 주요 정보 :

첫째, 가장 중요한 차이점은 도구가 전혀 다르다는 것입니다. Apache Maven은 소프트웨어 프로젝트 관리 및 이해 도구 ​​인 반면 Apache Ivy는 인기있는 빌드 관리 도구 인 Apache Ant ™와 고도로 통합 된 종속성 관리 도구 일뿐입니다. 아마도 더 흥미로운 비교는 Apache Ant + Ivy와 Apache Maven을 비교할 것입니다. 그러나 이것은 종속성 관리에만 중점을 둔이 페이지의 범위를 벗어납니다.

Ivy는 의존성 관리 기능을 Ant에 추가하므로 실제로 어떤 빌드 시스템을 사용하는지에 대한 질문은 다음 중 하나입니다.

  • 아이비/Ant 사용
  • maven으로 마이그레이션

Ant를 사용하여 빌드가 already 인 경우 빌드 스크립트를 다른 빌드 시스템으로 이식 할 필요가 없으므로 Ivy가 더 쉽게 전환됩니다.

Maven으로 전환하기로 결정한 경우 빌드 스크립트를 다시 작성하고 모든 것을 Mavenize하고 종속성 관리를 구성해야하므로 더 많은 노력이 필요합니다.

또한 그 방향으로 가기로 결정한 경우 종속성 관리 구성을 Ivy/Ant에서 Maven으로 이식하는 것이 더 쉬울 것입니다. 따라서 아이비 의존성 관리는 장기적으로 Maven 구성으로 가기에 좋은 발판이 될 것입니다.

70
prunge