Ho letto oltre the docs e non ho trovato nulla che parli di ciò per cui è usato.Qual è lo scopo della dipendenza ridotta-pom.xml generato dal plugin per lo schermo?
risposta
L'ombra: ombra Mojo è abbastanza ben documentato, qui in particolare sul parametro createDependencyReducedPom
, che creerà che dependency-reduced-pom.xml
lima: maven-shade-plugin/shade-mojo.html#createDependencyReducedPom
In breve, questo è molto utile se si intende utilizzare quel vaso ombreggiata (invece del normale JAR) come dipendenza per un altro modulo. Che dependency-reduced-pom.xml
non contenga i JAR già presenti in quello ombreggiato, evitando duplicazioni inutili.
Non sono sicuro di essere d'accordo sul fatto che qualcosa di mvn sia ben documentato, la tecnologia è intrinsecamente difficile da capire. Sarebbe utile capire come usare la dipendenza ridotta-pom.xml. Dove e come dovrebbe essere usato. –
Sopra, @ScottBoring chiede dove aggiungere l'impostazione. Va nel blocco di configurazione e c'è un esempio di quel blocco all'interno della definizione del plugin su [la pagina di utilizzo del plugin ombreggiatura maven] (https://maven.apache.org/plugins/maven-shade-plugin/usage.html) . –
Ma come, quando si dipende dal barattolo ombreggiato, si ottiene di usare invece la drp? – OrangeDog
Ho letto lo docs circa un centinaio di volte e ancora non riuscivo a capire a cosa servisse, a che serve davvero.
Infine, questo è quello che penso: diciamo che hai un progetto con le dipendenze A, B, C, D, E. Nel pom.xml
devi configurare il plug-in dello schermo in modo tale che quando crea il uber-jar (chiamarlo foo.jar
), include a, B, C nel barattolo ombreggiato ma per qualche motivo si decide di non includere D, E nel vaso ombreggiata, anche se il progetto dipende da loro - un caso in questione sono le dipendenze che sono necessari solo per il test (ad esempio qualsiasi dipendenza che ha uno scope
di test
e non è incluso nel barattolo ombreggiato). Il dependency-reduced-pom.xml
definirà D, E in esso. L'idea è che se qualcuno vuole usare il foo.jar
dependency-reduced-pom.xml
fornisce un suggerimento di qualche tipo che fate attenzione foo.jar
manca dipendenze D, E in essa - uso a proprio rischio. Potresti quindi decidere di aggiungere esplicitamente D, E nel progetto che utilizzerà foo.jar
.
Quindi il dependency-reduced-pom.xml
è più simile a missing-dependencies.xml
ed elenca le dipendenze che mancano nel uber-jar che viene emesso dal plug-in dello schermo.
- 1. Qual è lo scopo della classe Expression?
- 2. Qual è lo scopo della dichiarazione anticipata?
- 3. Qual è lo scopo della serratura?
- 4. Qual è lo scopo della lente unita?
- 5. Qual è lo scopo di IAsyncStateMachine.SetStateMachine?
- 6. Qual è lo scopo di. * \\?
- 7. Qual è lo scopo di :: in C#?
- 8. Qual è lo scopo della tabella di collegamento della procedura?
- 9. Qual è lo scopo del metodo Thread.SpinWait?
- 10. Java: Qual è lo scopo della setDoInput in URLConnection
- 11. Qual è lo scopo di Rake?
- 12. Qual è lo scopo di IntentSender?
- 13. Qual è lo scopo di ldexp?
- 14. Qual è lo scopo dell'intestazione features.h?
- 15. Qual è lo scopo di $ in XSLT
- 16. Qual è lo scopo di JMH @Fork?
- 17. Qual è lo scopo di CMakeScripts?
- 18. Scala: qual è lo scopo dell'override
- 19. Qual è lo scopo dell'interfaccia marcatore?
- 20. Qual è lo scopo di un LoaderManager?
- 21. Qual è lo scopo dell'hack * CSS?
- 22. Qual è lo scopo di HTML?
- 23. Qual è lo scopo del nodo jasmine?
- 24. Qual è lo scopo dell'istruzione PowerPC `bcctr`?
- 25. Qual è lo scopo dell'iniz! inizializzatore disponibile?
- 26. Qual è lo scopo dell'uso di CommandType.Tabledirect
- 27. Qual è lo scopo di IApplicationBuilder.New()
- 28. Qual è lo scopo di durandal?
- 29. Qual è lo scopo del trasformatore IdentityT?
- 30. Qual è lo scopo di @EnableTransactionManagement?
Non è relativamente chiaro nel documento Mojo: http://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html#createDependencyReducedPom? – Tome
No, non c'è niente lì dentro riguardo al suo scopo. – Transcendence
Beh, se si dispone di un modulo A con dipendenze X, e ombra alcuni di loro in un barattolo specifica (A-shaded.jar), allora non avrete bisogno quelle dipendenze ombreggiate se si vuole dipendere da A-shaded.jar invece di A.jar. Quindi il plugin crea un pom.xml contenente solo le dipendenze Y non ombreggiate. – Tome