On Thursday, 5 March 2015 at 14:42, Mark Struberg wrote: > Hi! > > I'm quite confused by the sheer amount of libs we already have in our lib > folder. For maven-3.2.1 this is > > 133957 7. Mai 2013 aether-api-0.9.0.M2.jar > 12637 14. Feb 2014 aether-api.license > 34117 7. Mai 2013 aether-connector-wagon-0.9.0.M2.jar > 12637 14. Feb 2014 aether-connector-wagon.license > 144866 7. Mai 2013 aether-impl-0.9.0.M2.jar > 12637 14. Feb 2014 aether-impl.license > 17703 7. Mai 2013 aether-spi-0.9.0.M2.jar > 12637 14. Feb 2014 aether-spi.license > 133588 7. Mai 2013 aether-util-0.9.0.M2.jar > 12637 14. Feb 2014 aether-util.license > 4467 7. Mai 2013 aopalliance-1.0.jar > 44908 7. Mai 2013 cdi-api-1.0.jar > 41123 7. Mai 2013 commons-cli-1.2.jar > 173587 7. Mai 2013 commons-io-2.2.jar > 284220 7. Mai 2013 commons-lang-2.6.jar > 2189117 7. Mai 2013 guava-14.0.1.jar > 2497 7. Mai 2013 javax.inject-1.jar > 293671 24. Jul 2013 jsoup-1.7.2.jar > 3555 14. Feb 2014 jsoup.license > 5848 7. Mai 2013 jsr250-api-1.0.jar > 18116 14. Feb 2014 jsr250-api.license > 61357 14. Feb 2014 maven-aether-provider-3.2.1.jar > 53651 14. Feb 2014 maven-artifact-3.2.1.jar > 283790 14. Feb 2014 maven-compat-3.2.1.jar > 574650 14. Feb 2014 maven-core-3.2.1.jar > 59433 14. Feb 2014 maven-embedder-3.2.1.jar > 159855 14. Feb 2014 maven-model-3.2.1.jar > 165103 14. Feb 2014 maven-model-builder-3.2.1.jar > 45831 14. Feb 2014 maven-plugin-api-3.2.1.jar > 25758 14. Feb 2014 maven-repository-metadata-3.2.1.jar > 42804 14. Feb 2014 maven-settings-3.2.1.jar > 42738 14. Feb 2014 maven-settings-builder-3.2.1.jar > 291397 23. Sep 2013 org.eclipse.sisu.inject-0.0.0.M5.jar > 12637 14. Feb 2014 org.eclipse.sisu.inject.license > 196544 25. Jul 2013 org.eclipse.sisu.plexus-0.0.0.M5.jar > 12637 14. Feb 2014 org.eclipse.sisu.plexus.license > 13350 7. Mai 2013 plexus-cipher-1.7.jar > 33933 14. Feb 2014 plexus-cipher.license > 4211 7. Mai 2013 plexus-component-annotations-1.5.5.jar > 61697 17. Aug 2013 plexus-interpolation-1.19.jar > 28555 7. Mai 2013 plexus-sec-dispatcher-1.3.jar > 33933 14. Feb 2014 plexus-sec-dispatcher.license > 251792 27. Jan 2014 plexus-utils-3.0.17.jar > 358933 7. Mai 2013 sisu-guice-3.1.3-no_aop.jar > 26084 24. Jul 2013 slf4j-api-1.7.5.jar > 11207 14. Feb 2014 slf4j-api.license > 10680 17. Aug 2013 slf4j-simple-1.7.5.jar > 11207 14. Feb 2014 slf4j-simple.license > 11288 14. Jan 2014 wagon-file-2.6.jar > 1388197 14. Jan 2014 wagon-http-2.6-shaded.jar > 10373 14. Jan 2014 wagon-http-shared-2.6.jar > 52572 14. Jan 2014 wagon-provider-api-2.6.jar > > > Lets look into details: > > > 44908 7. Mai 2013 cdi-api-1.0.jar > > What for? Do we use CDI in maven now? If so, why do we still have guava and > guice? -> No then remove it This provides the standard javax.enterprise.inject.Typed annotation which is respected by the container and helps migrate Plexus components (where you want to limit their visibility to a specific role) to more standard/modern annotations
If you don’t have any components that need this feature then it can be removed (or if you prefer to use a non-standard annotation in your components then that’s also possible, albeit less portable) > 41123 7. Mai 2013 commons-cli-1.2.jar > 173587 7. Mai 2013 commons-io-2.2.jar > 284220 7. Mai 2013 commons-lang-2.6.jar > > That might clash with many customer projects or is this very well guarded > from any plugin classloader? > > In maven-shared-utils we shaded in the few classes we used from this libs. > > 2189117 7. Mai 2013 guava-14.0.1.jar > This is also used pretty often in custom projects. Same question as for > commons-*. Is it well isolated? I believe so, I haven’t seen any issues with this library and Guava has been bundled with Maven long before we changed containers (back when it was called google collections) > > 2497 7. Mai 2013 javax.inject-1.jar > We are only lucky that there is atm only a single version of this spec out > there. So currently not much of an issue but a ticking time bomb. This is for components that want to use the standard JSR330 annotations, and is required by Guice - not sure why this is a problem, given that the spec is stable (the same applies to the aopalliance spec which is still at 1.0) > 5848 7. Mai 2013 jsr250-api-1.0.jar > > commons-annotations (JSR-250) are part of the JRE since java-1.4. So why do > we add it? Actually they were added in JavaSE 6, but now that maven core is at this level then this library can be removed/excluded - the key annotations are @PostConstruct and @PreDestroy which are supported by the container when you use setJSR250Lifecycle(true) in the ContainerConfiguration. > > txs and LieGrue, > strub > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > (mailto:[email protected]) > For additional commands, e-mail: [email protected] > (mailto:[email protected])
