2011-09-26 11 views
5

Wiem, że możemy bardzo dobrze wykorzystać ANT i Maven razem do zbudowania projektu. Możemy uruchomić skrypty ANT poprzez POM.xml Mavena. Ale moje pytanie brzmi: czy możemy uruchomić pom.xml poprzez build.xml ANT? tzn. Czy możemy utworzyć maven z build.xmlCzy możemy użyć pom.xml do ANT

Odpowiedz

8

Tak, używając maven ant tasks.

Strona zawiera listę wielu zadań maven, które można zintegrować ze skryptem ant build, łącząc w ten sposób funkcje obu. Aby wziąć przykład, istnieje mvn task, który, jak udokumentowano, może wykonać pełną mrówkę z mrówki.

<artifact:mvn mavenHome="/path/to/maven-3.0.x"> 
    <arg value="install"/> 
    </artifact:mvn> 

Poza tym, istnieje

  • Zależności zadań
  • Instalacja i zadań Wdrażanie zadanie
  • Pom

każdy opisany wraz z przykładami.

+1

Chociaż może to teoretycznie odpowiedzieć na pytanie, [byłoby lepiej] (http://meta.stackexchange.com/q/8259), aby uwzględnić istotne części odpowiedzi tutaj, i podać link do odniesienia. – oers

+0

@Raghuram, Dzięki za link. Ale czy możesz rozwinąć swoją odpowiedź za pomocą dowolnego przykładu, proszę – Sachchidanand

+0

@Gaurav. W rzeczywistości link zawiera wszystkie potrzebne informacje. I tak rozwinąłem odpowiedź. Czy edytujesz swoje pytanie z konkretnymi informacjami, których potrzebujesz i ktoś może pomóc. – Raghuram

1

Maven i ANT to bardzo różne narzędzia do kompilacji. W ANT sam piszesz całą logikę, podczas gdy standardowy proces budowania jest "upieczony" z Mavenem. Plik POM nie zawiera logiki, zamiast tego zawiera serię deklaracji dotyczących projektu.

Jeśli dobrze rozumiesz, jak działa Maven, teoretycznie możliwe jest wzięcie POM i wygenerowanie kompilacji ANT, która emuluje zachowanie kompilacji Mavena. Nie jestem świadomy żadnego rozwiązania, które można łatwo przekonwertować w innym kierunku, głównie dlatego, że ANT brakuje funkcji Maven, takiej jak zarządzanie zależnościami.

Zamiast próbować konwertować kompilację ANT na Mavena, zaleciłbym zachowanie istniejącej logiki kompilacji i delegowanie zarządzania ścieżką klas do zadań ANT na ivy lub Maven. Narzędzia te zapewniają również zadania do publikowania danych wyjściowych kompilacji do repozytorium Maven, umożliwiając udostępnienie projektu innym projektom przy użyciu Maven.

Wreszcie, jestem adwokatem ivy i napisałem skrypt ant2ivy, który może pomóc w procesie aktualizacji. Tworzy początkowy zestaw plików konfiguracyjnych do pobierania zależności projektów z centralnego repozytorium Maven.

Powiązane problemy