2011-09-26 21 views
5

So che, possiamo benissimo usare ANT e Maven insieme per costruire il project.We può eseguire script ANT attraverso pom.xml di Maven. Ma la mia domanda è: possiamo eseguire pom.xml tramite il build.xml di ANT? , ad esempio, possiamo creare maven build da build.xmlPossiamo usare pom.xml in ANT

risposta

8

Sì, utilizzando maven ant tasks.

La pagina elenca le molteplici compiti Maven, che possono essere integrati in uno script di Ant, combinando così le caratteristiche di entrambi. Per fare un esempio, c'è lo mvn task, che come documentato può fare una compilazione maven completa da formica.

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

Oltre a questo, ci sono

  • relazioni tra le attività
  • Installare e compiti Deploy compito
  • Pom

ciascuno descritto con esempi.

+1

Sebbene ciò possa teoricamente rispondere alla domanda, [sarebbe preferibile] (http://meta.stackexchange.com/q/8259) includere qui le parti essenziali della risposta e fornire il collegamento per riferimento. – oers

+0

@Raghuram, grazie per il link. Ma puoi elaborare la tua risposta con l'aiuto di qualsiasi esempio, per favore – Sachchidanand

+0

@Gaurav. In realtà il link ha tutte le informazioni che ti servono. Ho comunque elaborato la risposta. Modifica la tua domanda con informazioni specifiche di cui hai bisogno e qualcuno può aiutarti. – Raghuram

1

Maven e ANT sono strumenti di compilazione molto diversi. In ANT scrivi te stesso tutta la logica, mentre un processo di compilazione standard viene "rodato" con Maven. Il file POM non contiene alcuna logica, contiene invece una serie di dichiarazioni sul progetto.

Se si capisce bene come funziona Maven, è teoricamente possibile prendere un POM e generare una build ANT che emula il comportamento del costruire Maven. Non sono a conoscenza di alcuna soluzione che possa facilmente convertire nell'altra direzione, principalmente perché ANT manca della funzionalità Maven, come la gestione delle dipendenze.

Invece di provare a convertire una build ANT in Maven, è consigliabile mantenere la logica di generazione esistente e delegare la gestione del classpath alle attività ivy o Maven ANT. Questi strumenti forniscono anche attività per pubblicare l'output di generazione in un repository Maven, consentendo la condivisione del progetto con altri progetti utilizzando Maven.

Infine, sono un avvocato ivy e ho scritto uno script ant2ivy che può aiutare nel processo di aggiornamento. Crea un set iniziale di file di configurazione per scaricare le dipendenze dei progetti dal repository centrale di Maven.

Problemi correlati