Ho letto del reattore di Maven e sono confuso dal suo utilizzo della terminologia. Ho letto che un multi-modulo è un reattore, che puoi manipolare il reattore esperto e che il reattore è un plugin. Cos'è esattamente il reattore?Che cos'è il "reattore" di Maven?
risposta
Il reattore è la parte di Maven che consente di eseguire un obiettivo su un insieme di moduli. Come accennato nella 1.x Maven documentation on multi-modules builds (concetto reattore era già presente in Maven 1.x), mentre i moduli sono un'unità distinta di lavoro, possono essere raccolti insieme utilizzando il reattore per costruire simultaneamente e:
Il reattore determina l'ordine di costruzione corretto dalle dipendenze dichiarate da ciascun progetto nei rispettivi descrittori del progetto e quindi eseguirà un determinato gruppo di obiettivi. Può essere utilizzato sia per progetti di costruzione che per altri obiettivi, come la generazione di siti.
Come spiegato, il reattore è ciò che rende più moduli costruisce possibile: calcola il grafo orientato di dipendenze tra i moduli, deriva l'ordine di generazione da questo grafico (ecco perché dipendenze cicliche sono consentite, che è bene comunque) e quindi esegue gli obiettivi sui moduli. In altre parole, un "multi-moduli costruire" è una "reattore accumulo" ed una "reattore accumulo" è un "multi-moduli costruire".
In Maven 2.x, il supporto di build multi-modulo è stato notevolmente migliorato e il reattore è diventato trasparente per gli utenti Maven. Ma è ancora lì ed è usato sotto il cofano.
Nel settembre 2008 (vale a dire molto tempo dopo il lancio di Maven 2), è stato creato uno reactor plugin per consentire di interagire (di nuovo) più strettamente con il reattore Maven. Brett Porter ne ha scritto il blog in Reactor: My New Favourite Maven Plugin.
La maggior parte delle funzionalità del plugin del reattore sono ora supportate nativamente (dal Maven 2.1.0). Vedi Maven Tips and Tricks: Advanced Reactor Options.
Il reattore viene utilizzato quando un progetto dispone di più moduli.
I lavori realizzati da reattore sono:
- Raccolta i dettagli del modulo
- ordinamento l'ordine sulla base di dipendenze
- Costruisce i progetti in ordine
A partire dalla versione Maven 2.1 ci sono nuove opzioni di riga di comando di Maven che ti permettono di manipolare il modo in cui Maven costruirà progetti multimodule. Queste nuove opzioni sono:
-rf, --resume-from
Resume reactor from specified project
-pl, --projects
Build specified reactor projects instead of all projects
-am, --also-make
If project list is specified, also build projects required by the list
-amd, --also-make-dependents
If project list is specified, also build projects that depend on projects on the list
- 1. Maven costruire progetti figlio secondo livello + utilizzando l'opzione reattore -pl
- 2. Modello osservatore vs Modello reattore
- 3. Reattore twistato Python - indirizzo già in uso
- 4. Qual è il modo migliore per controllare il reattore di Twisted in modo che non sia bloccante?
- 5. Maven: Che cos'è pluginManagement?
- 6. Che cosa significa **/* nella sintassi di Maven?
- 7. Maven non trova .git (dotGitDirectory)
- 8. Che cos'è un artefatto Maven?
- 9. Cosa sono i thread di lavoro e qual è il loro ruolo nel pattern del reattore?
- 10. È possibile stampare un riepilogo del reattore più corto?
- 11. Uso di maven-bundle-plugin con il plugin maven-shade
- 12. Il plugin delle risorse Maven esclude che non funzioni
- 13. Maven, che sta visualizzando il test dell'unità attualmente in funzione
- 14. Profilo Maven per modulo singolo
- 15. Che cosa rappresenta il tag genitore in Maven pom?
- 16. Che cos'è Maven in Android Studio?
- 17. Maven Checkstyle: Controlla che non funzioni
- 18. Come ottenere il 'reattore' quando l'applicazione intrecciata viene avviata da twistd?
- 19. Utilizzo di Maven per il progetto Coldfusion
- 20. Impossibile caricare il mojo - installazione di maven
- 21. Il plugin di rilascio di Maven ignora il releaseProfile
- 22. Che cos'è Mirror nel file settings.xml di Maven?
- 23. che generano file di progetto Eclipse con Maven
- 24. Plugin webstart di Maven che non trova le dipendenze
- 25. Come funziona il supporto per il filtro Maven di IntelliJ?
- 26. Esecuzione di una suite di test JUnit4 in Maven utilizzando il plug-in maven-failsafe
- 27. Integrazione Maven & Non-Maven progetti
- 28. Come rimuovere il file .jar da una guerra che è sovrapposta dalla dipendenza di Maven
- 29. Versioni di Maven-versioni di maven-plugin plug-in 2.2
- 30. Plugin di template Maven?
Perché il sito Maven dicono che questo plugin è "in pensione"? –
Perché il plugin del reattore è un plugin che (solo) "parla" al reattore reale. Quindi non lo stesso reattore è in pensione ma un plugin ad esso correlato. – Lonzak