Hi list,

Different microservices at one company often have some shared infrastructure, 
such as for Service Discovery. I'm looking to use the awesome Consul Client for 
Java (https://github.com/OrbitzWorldwide/consul-client), and build a library 
that our various (Maven-based Java) microservices can use. In order to make our 
library not too invasive in terms of dependency resolution, I like the idea of 
using Consul Client's "shaded JAR". I believe shaded JARs weren't really meant 
to be consumed by other Maven projects. But this may be a reasonable exception. 
But when you look at the output of such project (like here: 
https://repo1.maven.org/maven2/com/orbitz/consul/consul-client/0.16.3/), you'll 
see a POM file with all the original dependencies, oblivious to the shading. Is 
there any known pattern of dealing with that? Like: "POM classifiers" - I know, 
I made that up. I also know there's an option to generate a "dependency reduced 
POM", but what good does that do if I can't depend on it? Should this project 
be generating two separate artifacts?

(P.S.: I can certainly file an issue with the Consul Client project, but I want 
to be more helpful than that, and offer a concrete suggestion or a PR.)

Thanks, Sander.



Sander Verhagen
[  san...@sanderverhagen.net<mailto:san...@sanderverhagen.net>  ]

Reply via email to