2010-07-30 13 views
15

Mi è stato recentemente chiesto di mavenize un progetto esistente e non so esattamente cosa significhi. Sul sito di Maven delinea come creare un progetto di maven da zero, ma cosa succede se ho già una notevole quantità di codice?Che cosa significa "Mavenize" un progetto?

Sono a mio agio lavorando alla riga di comando o in Eclipse/Netbeans. So che ci sono molti plugin per i 2 IDE che rendono questo tipo di cose più facile ma non so da dove cominciare.

C'è qualcosa di più oltre alla semplice scrittura di un file pom che ha tutte le dipendenze in esso?

risposta

14

"Mavenize" significa semplicemente scrivere un POM (e possibilmente spostare il codice in giro) in modo che si sviluppi in Maven.

Spesso il modo più semplice per farlo è quello di ristrutturare il proprio codice leggermente in modo che corrisponda convenzioni Maven (ad esempio muovere "fonti" a "src/main/java", ed esplicitamente sciolse moduli separati). Tu puoi ignorare le convenzioni, e dire a Maven come stai memorizzando le tue classi ecc., Ma in generale un po 'di dolore per rendere la maggior parte di Maven poi lavoro "out of the box" vale la pena investire.

Le probabilità sono che la maggior parte del tuo file Ant (o simile) è la piastra, che è stata l'idea alla base di Maven in primo luogo. Tuttavia, potrebbero esserci alcune cose su misura (ad esempio, le classi di test che iniziano con "TestIntegration" dovrebbero essere eseguite solo su build notturni) che dovrai riprodurre in Maven.

Ma sì, in generale significa prendere la funzionalità esistente di una build e riprodurre la stessa funzionalità utilizzando Maven.

+0

Ah bello, quindi è semplicemente una cosa organizzativa. Sono nervoso di incasinare le persone che non usano Maven, ma suppongo sia abbastanza semplice riflettere le mie modifiche nel file build.xml – stinkycheeseman

+0

Sarebbe normale che due sistemi di compilazione siano entrambi in grado di costruire un progetto; c'è qualche ragione per cui alcune persone non dovrebbero prendere in mano Maven? Ma in ogni caso, hai ragione - Maven preferisce "convenzione sulla configurazione" quindi è principalmente organizzativo, e puoi sicuramente aggiornare il file build.xml per lavorare con le nuove posizioni. –

+0

OK, bello. Suppongo che tutti si convertano in esperti, ma inizialmente non voglio rompere le attuali configurazioni di nessuno. – stinkycheeseman

4

Significa riorganizzare il codice e le risorse dei progetti per conformarsi al modello di esperti. Questo uso di "convenzione sulla configurazione" consente agli strumenti standard di Maven di operare sulla base di codice.

0

In aggiunta a ciò che viene detto.

Si può sempre convertire un progetto java esistente in un progetto maven con IDE eclipse, il plugin m2eclipse supporta tale funzionalità o opzione, come segue: Dopo aver installato il plugin m2eclipse e riavviato eclipse. Fare clic con il tasto destro del mouse sul progetto java - »configure -» convert to in maven

Avrai un pom generato per iniziare, quasi sempre ha bisogno di modifiche per abbinare dipendenze e repository dei progetti se quelle dipendenze non sono nel repo centrale.