2010-06-22 16 views
8

Dzisiaj przyglądałem się Maven Multi-Module i projektom EAR i wydają się one dość podobne, ponieważ zdają się definiować zestaw innych projektów - wydaje się, że projekt EAR powinien być tylko alternatywnym opakowaniem w przypadku projektu wielomodułowego.Czy Multi-Module i EAR Maven grają dobrze razem?

Czy coś źle zrozumiałem? A może tego typu projekty współpracują ze sobą?


Po Pascala odpowiedzi: zaktualizowany do wyjaśnienia pytanie, mam nadzieję, że pomoże, jeśli to nie jest łatwe do zrozumienia; przepraszam, że może nie jest to sformułowane bardzo dobrze, rzeczy do ucha są dla mnie zupełnie nowe ...

Powiedzmy, że mam dwa projekty: jeden produkujący wojnę, a drugi słoik użytkowy. Wojna zależy od słoika i muszę spakować je do ucha do wdrożenia. Czy powinienem użyć projektu z typem opakowania pom? Chyba muszę użyć jakiegoś projektu z opakowaniem typu ucha, aby wyprodukować ostateczny artefakt, więc czy najlepiej używam tylko projektu z opakowaniem na uszy lub projektów z pom i uchem? Jeśli obie, jak?

+0

Zadałem podobne pytanie (http://stackoverflow.com/questions/2821077/maven-all-or-parent-project-for-aggregation). Chodzi o to, że nie zawsze jest jasne, czy powinieneś użyć projektu opakowania, który zależy od projektu, który pakuje, lub wielomodułowego. Kod źródłowy opakowań wymaga na przykład wielu modułów, ale nie ma (łatwego) sposobu pakowania kodu źródłowego dla twoich zależności. Projekty EAR powinny być zgodne z drugim podejściem - nie wielomodułowym, ale raczej ostatnim projektem w kompilacji, w zależności od projektu, który on pakuje. –

Odpowiedz

0

Czy coś źle zrozumiałem? A może tego typu projekty współpracują ze sobą?

Nie jestem pewien, czy zrozumiał pytanie, ale jestem skłonny do odpowiedzi, że pracują razem:

  • moduły umożliwiają agregowanie, dobrze, kruszywa i moduły muszą mieć pom opakowań (i tylko moduły pom mogą mieć projekty zagnieżdżone).
  • Moduł EAR to tylko moduł z opakowaniem ear (i ma specyfikację bindings) i może być częścią projektu wielomodułowego.

Oba mają różne cele. Ale działają razem.

2

Projekty EAR działają dobrze jako część większego zagregowanego projektu. W przypadkach, gdy nie chcesz, aby EAR był oddzielnym projektem; zawsze można utworzyć plik za pomocą zespołu.

Takie podejście ma sens w niektórych przypadkach. Zwykle tam, gdzie trzeba utworzyć wiele wersji EAR lub gdy chcemy utworzyć wdrożenie dużego pliku EAR, ale nie ma potrzeby przechowywania artefaktu po jego utworzeniu.

Użyłem tego podejścia, aby zająć się standardem korporacyjnym, który wymaga wszystkich możliwych do wdrożenia plików EAR, nawet jeśli aplikacja jest pojedynczym plikiem WAR. Zespół może utworzyć plik EAR z pojedynczym plikiem WAR i deskryptorami wdrażania.

Powiązane problemy