Ho visto molti file di edera nei progetti di costruzione della mia applicazione. Cos'è l'edera e la sua relazione con la formica?cos'è l'edera? e come è correlato alla formica?
risposta
Ivy è un'estensione della formica per la gestione di librerie esterne durante il processo di sviluppo, dando un senso di aggiungerli al classpath, li impacchettare nella vostra costruzione applicazione, ecc
C'è una certa sovrapposizione con quello che fa Maven, ma Ivy è molto più leggero (e non fa altrettanto).
Ivy compete con le attività Maven Ant (http://maven.apache.org/ant-tasks/index.html), ma certamente non con Maven. –
Per essere onesti, non ho detto che è in concorrenza con esso, ho detto che c'era sovrapposizione con esso. – skaffman
Beh, Ivy è un meccanismo di gestione delle dipendenze Maven di Ant port, c'è ovviamente una sorta di "sovrapposizione". Ma ancora, non puoi confrontarli. –
Ivy è un gestore delle dipendenze, che gestisce e controlla i file JAR da cui dipende il progetto. Se non si dispone dei JAR, per impostazione predefinita sarà pull them down for you (dal repository Maven 2), che può rendere molto più semplice la configurazione del progetto.
Tranne che la maggior parte dei repository di edera/riproduzioni remote sono orribilmente frammentari e incompleti. – skaffman
@skaffman Facts per favore? –
@Pascal - la mia esperienza si allinea con l'affermazione di @ skaffman. Ad esempio, quando ho iniziato a usare Maven ho avuto molte difficoltà nel trovare le versioni "giuste" dei JAR api J2EE, e ho rinunciato a cercare di trovare OAIcat. Ho anche incontrato problemi con cattive dipendenze che richiedono "esclude" soluzioni alternative. Tuttavia, per me i vantaggi delle dipendenze in stile Maven superano questi problemi. –
Ivy è originariamente un Jayasoft.fr product che in quel momento era in licenza BSD, tuttavia il nucleo di Ivy è sempre stato lo stesso: è uno strumento di gestione delle dipendenze .
La relazione di Ivy con Ant è che è un'estensione Ant, nel senso che è attraverso Ant, tuttavia non dipende da esso (oltre le parti ovvie). Ivy è stata incorporata in un progetto Apache sotto Ant come sottoprogetto attraverso il processo di incubazione l'11 ottobre 2007.
Le idee sbagliate più comuni sono che confrontano Ivy con Maven nel suo complesso. Tuttavia, ciò non funziona in quanto Ivy gestisce solo le dipendenze in modo agile ed è molto bravo con una configurazione semplicistica e un ampio supporto automatizzato con vari sistemi di compilazione, ecc. Tramite Ant mentre Maven è davvero un sistema di compilazione in sé. Le opinioni personali possono e differiscono in ciò che si fa ciò che è meglio e che vale più di Stackoverflow/ricerche di Google da solo.
Credo che questi siano i punti significativi e utili per aggiungere:
- Ivy può essere utilizzato stand-alone da linea di comando, senza Ant. Se il tuo ambiente CI non include Ant non ti preclude l'utilizzo di Ivy. Sì, l'integrazione con Ant è buona e, di gran lunga, meglio documentata. Si potrebbe tuttavia applicare la documentazione di integrazione di Ant all'utilizzo standalone.
- Ivy non è solo per Java. Il mio team lo utilizza con successo per definire le dipendenze per un progetto .NET abbastanza grande (10 pacchetti interdipendenti con diverse versioni di ciascuno in produzione con più dipendenze upstream di terze parti). Funziona abbastanza bene. Vorrei che la documentazione fosse un po 'più chiara e piena.
- Ci sono altri vantaggi che Ivy offre per Build Time: attivazione di build upstream e downstream.
http://ant.apache.org/ivy/features.html – Bozho