Maven czy Ivy? Który z nich jest lepszy z systemem już produkowanym? A inne różnice? [zamknięte]

Wiem, że to skomplikowane pytanie, ale chciałbym wiedzieć, który z nich jest lepszy w przypadku systemu, który jest już w produkcji, z wieloma błędami i naprawdę złym designem w ogóle. Naprawdę bałagan.

Właściwie to pytam, bo już konwertuję ten projekt na Mavena i mam wiele problemów. Musiałem dostosować strukturę folderów, oddzielić straszny framework wykonany w firmie od projektu (został przekonwertowany na jar), naprawić wiele szczegóły, które cały czas łamały projekt, skonfiguruj POM.xml, aby zrobić wszystko, co Ant już robił i odkryć libs, które są naprawdę używane w aplikacji jako ich wersje(duża część libs została przemianowana bez numeru wersji, a plik manifest był pusty).

Cóż, to było naprawdę piekło. Oszalałem podczas tego zadania i pytanie, które za mną szło przez cały czas, brzmiało: "a jeśli zamieniam go na Ivy? Byłoby łatwiej?".

Nigdy nie pracowałem z Ivy, ale z tego co wiem to działa z Ant i łatwiej jest zaadaptować projekt Mavena. Z drugiej strony, Maven jest o wiele bardziej używane w całym słowie (czy się mylę?) i to powinno mieć powód!

Oto moje pytania:

  • integracja z Jenkins / Hudson : z Ivy to takie proste jak z Maven?
  • Sonar plugin : to samo pytanie powyżej. Integracja jest prosta?
  • Plugin do Eclipse: jest to bardzo słaby punkt Maven. Plugin okropny, ale nie znam tych z Ivy.
  • Deploy proces : Gdy już wszystko jest już skonfigurowane, wdrożenie i opublikowanie projektu za pomocą Mavena jest niezwykle proste. A Z Ivy?
  • Konwersja : cóż, moje doświadczenie w konwersji projektu do Mavena było straszne, ale system nie pomógł. Opcją, którą miałem było to, że Maven jest niesamowity dla nowych projektów, projektów współpracujących z Mavenem od czasu jego powstania, ale nie jest to dobry wybór, jeśli mieć duży i niezorganizowany projekt. Mylę się?
  • pluginy : że jest dużo pluginów do skonfigurowania w POM.xml. Jest tyle opcji dla Ivy?
  • Popularność : która na jest bardziej popularna? Który z nich jest bardziej używany i dlaczego?

Cóż, to jest to. Wielkie dzięki!

Author: Prince, 2013-03-22

1 answers

Po pierwsze, przeczytaj Ivy / Maven porównanie ze strony Ivy. Najważniejsze informacje:

Po pierwsze, najważniejszą różnicą jest to, że nie są one wcale tego samego rodzaju narzędziami. Apache Maven jest narzędziem do zarządzania projektami i rozumienia, podczas gdy Apache Ivy jest tylko narzędziem do zarządzania zależnościami, wysoce zintegrowanym z Apache Ant™, popularnym narzędziem do zarządzania kompilacją. Więc może bardziej interesujące porównanie porównałoby Apache Ant + Ivy vs Apache Maven. Ale to wykracza poza zakres tej strony, która koncentruje się wyłącznie na zarządzaniu zależnościami.

Ivy dodaje funkcjonalność zarządzania zależnościami do Ant, więc tak naprawdę pytanie, jakiego systemu budowania używasz, brzmi:

  • użyj Ivy/Ant
  • migracja do Maven

Jeśli twój build jest już używając Ant, Ivy będzie łatwiejsze przejście, ponieważ twoje Skrypty budowania nie muszą być przenoszone do innego systemu budowania.

Jeśli zdecyduj się na przejście do Mavena będzie to wymagało więcej wysiłku, ponieważ musisz przepisać swoje skrypty budowania i Mavenize wszystko, jak również skonfigurować zarządzanie zależnościami.

Łatwiej będzie również przenieść konfigurację zarządzania zależnościami z Ivy / Ant do Maven, jeśli kiedykolwiek zdecydujesz się pójść w tym kierunku. Więc zarządzanie zależnościami Ivy byłoby dobrym krokiem na dłuższą metę, aby przejść do konfiguracji Mavena.

 64
Author: prunge,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-22 03:36:16